home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1994 March / Internet Info CD-ROM (Walnut Creek) (March 1994).iso / networking / terms / kermit / b / ik0cmd.asm < prev    next >
Encoding:
Assembly Source File  |  1992-09-29  |  165.6 KB  |  2,095 lines

  1. *COPY                                                 IK0CMD            03000000
  2.          CHECKVER IK0CMD,4.2                                   @SC90072 03000500
  3.          TITLE 'USNTRF Routine - execute main loop'                     03001000
  4. * Execute Kermit commands (beginning with default TAKE files)           03002000
  5. * Entry: environment already set up                                     03003000
  6. * Exit: R15=0                                                           03004000
  7. *       ERRNUM set appropriately                                        03005000
  8. USNTRF   ENTER                                                          03006000
  9.          LA    0,KRMPROT                                       @SC86295 03007000
  10.          LA    1,USNCMD      Full list of commands             @SC87117 03008000
  11.          BAL   14,LOOPS      Set up loop return                @SC86295 03009000
  12.          LA    2,USRTAKE                                                03010000
  13.          LA    1,LUSRT       Length of name                    @SC86295 03011000
  14.          BAL   9,LUPTIN      Test user KERMINI                 @SC86295 03012000
  15.            NOP 0             Not found, skip it                @SC86295 03013000
  16.          LA    2,SYSTAKE                                       @SC86135 03014000
  17.          LA    1,LSYST       Length of name                    @SC86295 03015000
  18.          BAL   9,LUPTIN      Test system KERMINI               @SC86295 03016000
  19.            NOP 0             Not found, skip it                @SC86295 03017000
  20.          MVI   ERRNUM,ERRNFT No transfers yet                  @SC86295 03018000
  21.          KCALL SUPFNC,6,E=LOOP                                 @SC86295 03019000
  22.          OI    KFLG,CMDL+SIGN Got command line, suppress banner@SC86295 03020000
  23.          B     LOOP                                            @SC86295 03021000
  24. *                                                                       03022000
  25. KRMININC WTEXT 'Kermit-&KSYS Version &KVRSN..&KEDIT &KTAG (&KDATE.)'    03023000
  26.          WTEXT 'Enter ? for a list of valid commands'                   03024000
  27.          STRTMSGS ,          Any system-specific messages...   @SC87338 03025000
  28.          OI    KFLG,SIGN     Banner done                       @SC86295 03026000
  29. KRMPROB  PTEXT BLANK,1               And leave a blank line             03027000
  30.          B     LUPWRT        Not an error                      @SC86295 03028000
  31. *                                                                       03029000
  32. KRMPROT  TM    KFLG,CMDL                                       @SC86295 03030000
  33.          BZ    KRMPROCL              Go if Not cmd line                 03031000
  34.          NI    KFLG,255-CMDL Turn off command line             @SC86295 03032000
  35.          OI    KFLG,CMDC     Command from cmd line             @SC86295 03033000
  36.          L     1,CBUF                address of cmd                     03034000
  37.          L     0,CLEN        Length                            @SC86171 03035000
  38.          B     LUPPRS        Go process it                     @SC86295 03036000
  39. *                                                                       03037000
  40. KRMPROCL TM    KFLG,CMDC                                       @SC86295 03038000
  41.          BZ    KRMPROR               Go if not cmd line                 03039000
  42.          KCALL SUPFNC,7,E=(KRMXITQ,Z) Go if nothing stacked    @SC86295 03040000
  43. KRMPROR  TM    KFLG,SIGN     Already printed banner?           @SC86295 03041000
  44.          BO    KRMPROX       Yes, or suppressed                @SC86295 03042000
  45.          KCALL SUPFNC,7,E=(KRMININC,Z) Go if nothing stacked   @SC86295 03043000
  46. KRMPROX  LA    3,CMD                                           @SC86295 03044000
  47.          LA    4,KPRPT       Current prompt                    @SC87268 03045000
  48.          SR    0,0                                             @SC87268 03046000
  49.          IC    0,KPRPL       Prompt length                     @SC87268 03047000
  50.          RTEXT (3),PROMPT=((4),(0))                            @SC87268 03048000
  51.          LA    1,CMD         Ptr to command                    @SC86171 03049000
  52.          B     LUPPRS        Go process it                     @SC86295 03050000
  53. *                                                                       03051000
  54. USNCMD   KW    'EXIT',KRMXIT,MIN=2                                      03052000
  55.          KW    'QUIT',KRMXIT                                            03053000
  56.          AIF   ('&KSYS' NE 'TSO').TS0Z                         @SC88035 03053200
  57.          KW    'END',KRMXIT,MIN=3  Synonym for QUIT            @SC88035 03053400
  58. .TS0Z    ANOP                                                           03053600
  59. USNCMDX  KW    'BYE',KRMBYE,MIN=3                              @SC86155 03054000
  60.          KW    'DIRECTORY',KRMDIR,MIN=3                        @SC86295 03055000
  61.          KW    'ECHO',KRMECO,MIN=2                                      03056000
  62.          KW    'FINISH',KRMFIN,MIN=3                           @SC86155 03057000
  63.          KW    'GET',KRMGET                                    @SC86155 03058000
  64.          KW    'HELP',KRMHLP                                            03059000
  65.          KW    'LOCAL',LUPTOK,MIN=3                            @SC86295 03060000
  66.          KW    'RECEIVE',KRMREC,MIN=3                                   03061000
  67.          KW    'REMOTE',KRMREM,MIN=3                           @SC86155 03062000
  68.          KW    'SEND',KRMSND,MIN=3                                      03063000
  69.          KW    'SERVER',KRMSRV,MIN=3                                    03064000
  70.          KW    'XECHO',KRMXPE,MIN=2                            @SC86204 03065000
  71.          KW    'XTYPE',KRMNPS,MIN=2                            @SC86204 03066000
  72. SRVKCMD  KW    '&KSYS.',LUPHST,MIN=2  Valid in Server mode ... @SC86295 03067000
  73.          AIF   ('&KSYS' NE 'CMS').CM0Z                         @SC86355 03068000
  74.          KW    'CP',LUPCP,MIN=2                                @SC86295 03069000
  75. .CM0Z    KW    'CWD',LUPCWD,MIN=2                              @SC86295 03070000
  76.          KW    'GIVE',LUPGIV,MIN=2                             @SC87117 03071000
  77.          KW    'HOST',LUPHST,MIN=2                             @SC87253 03072000
  78.          KW    'KERMIT',LUPKRM                                 @SC90059 03073000
  79.          KW    'SET',LUPSET,MIN=3                              @SC86295 03074000
  80.          KW    'SHOW',LUPSHO,MIN=2                             @SC86295 03075000
  81.          KW    'SPACE',LUPSPA,MIN=2                            @SC86295 03076000
  82.          KW    'STATUS',LUPSTA,MIN=2                           @SC86295 03077000
  83.          KW    'TAKE',LUPTAK,MIN=2                             @SC86295 03078000
  84.          KW    'TDUMP',LUPDMP,MIN=2                            @SC86295 03079000
  85.          KW    'TYPE',LUPHSTI,MIN=TYPMIN                       @SC88018 03080000
  86.          KW                                                             03081000
  87. *                                                                       03082000
  88. KRMECO   L     3,ADR                 Pick rest of line                  03083000
  89.          ICM   4,B'1111',LEN         Remaining data length              03084000
  90.          BNP   KRMPROB               Go if nothing left in cmd          03085000
  91.          B     LUPWRT        Else, print the rest              @SC86295 03086000
  92. *                                                              @SC86155 03087000
  93. KRMREM   KCALL GENCMD,0,E=LUPERK Send remote command           @SC86295 03088000
  94.          B     KRMXFZ                                          @SC87300 03089000
  95. *                                                              @SC86155 03090000
  96. KRMBYE   BAL   14,LUPCNF     Check for illegal extras          @SC86295 03091000
  97.          KCALL GENCMD,AL     Send Logout command               @SC86155 03092000
  98.          B     KRMXFZ                                          @SC87300 03093000
  99. *                                                                       03094000
  100. KRMFIN   BAL   14,LUPCNF     Check for illegal extras          @SC86295 03095000
  101.          KCALL GENCMD,AF     Send Finish command               @SC86155 03096000
  102.          B     KRMXFZ                                          @SC87300 03097000
  103. *                                                                       03098000
  104. KRMGET   PTEXT 'Foreign filespec - ',AREG=1,LREG=0             @SC88035 03099000
  105.          BAL   2,USNASKA     Prompt if user omitted args       @SC88035 03099300
  106.          LA    0,FFGET                                         @SC88049 03099600
  107.          KCALL FSPEC,JFSPEC  Get foreign filespec              @SC86295 03100000
  108.          BAL   14,LUPCKFN                                      @SC86295 03101000
  109.          PTEXT '&KSYS filespec - ',AREG=1,LREG=0               @SC88035 03101300
  110.          BAL   2,USNASKT     Prompt if necessary               @SC88035 03101600
  111.          LA    0,FFGET+FFRCF                                   @SC88049 03102000
  112.          KCALL FSPEC,FILNAM  Get native filespec, if any       @SC86295 03103000
  113.          BAL   14,LUPCKFN                                      @SC86295 03104000
  114.          BAL   14,LUPCNF     Check for illegal extras          @SC86295 03105000
  115.          TM    FL3,APPN      Going to append anyway?           @SC90033 03105100
  116.          BO    USNGCK        Yes, ignore collisions            @SC90033 03105200
  117.          TM    FL1,REN+ROVR  Warning ON and name given?        @SC88089 03105300
  118.          BNO   USNGCK        No, don't check for collision yet @SC88089 03105600
  119.          LA    0,FFNEW+FFGET                                   @SC87012 03106000
  120.          KCALL FSPEC,FILNAM,E=LUPWRTE Avoid collisions         @SC87012 03107000
  121. USNGCK   DS    0H                                              @SC88089 03107500
  122.          BAL   8,IPKSET      Set state table, exchange parms   @SC86295 03108000
  123. * Init packet  Rpack interpret input tables                    @SC86155 03109000
  124.          DC    AL1(AY),AL3(0)        ACK'ed                    @SC86155 03110000
  125.          DC    XL1'FF',AL3(KRMGETAB) Stop                      @SC88074 03110500
  126.          DC    AL1(00),AL3(KRMGETAB) Error                     @SC86155 03111000
  127.          BAL   9,PAKFIL      Copy file specification to buffer @HF86223 03112000
  128.          BAL   9,ENCODEN     Encode file-spec                  @SC86295 03113000
  129.          MVI   STYPE,AR      Packet type = receive initiate    @SC86155 03114000
  130.          KCALL SPACK,E=KRMGETAB Send name                      @SC86155 03115000
  131.          KCALL RECEIV                                          @SC86155 03116000
  132.          B     KRMXFZ                                          @SC86239 03117000
  133. *                                                                       03118000
  134. KRMGETAB KCALL INTINI,0                                        @SC86155 03119000
  135.          B     KRMXFZ                                          @SC87300 03120000
  136. *                                                                       03121000
  137. KRMREC   LA    0,FFRCF                                         @SC86295 03122000
  138.          KCALL FSPEC,FILNAM  Get filespec                      @SC86295 03123000
  139.          BAL   14,LUPCKFN                                      @SC86295 03124000
  140.          BAL   14,LUPCNF     Check for illegal extras          @SC86295 03125000
  141.          TM    FL3,APPN      Going to append anyway?           @SC90033 03125100
  142.          BO    USNRCK        Yes, ignore collisions            @SC90033 03125200
  143.          TM    FL1,REN+ROVR  Warning ON and name given?        @SC88089 03125300
  144.          BNO   USNRCK        No, don't check for collision yet @SC88089 03125600
  145.          LA    0,FFNEW+FFGET                                   @SC87012 03126000
  146.          KCALL FSPEC,FILNAM,E=LUPWRTE Avoid collisions         @SC87012 03127000
  147.          TM    FL4,NMCHNG                                      @SC90061 03127080
  148.          BZ    USNRCK                                          @SC90061 03127160
  149.          PTEXT 'File already exists, RECEIVE discarded'        @SC90061 03127240
  150.          CLI   CLSNFL,C'D'                                     @SC90061 03127320
  151.          BE    LUPWRTE                                         @SC90061 03127400
  152. USNRCK   DS    0H                                              @SC88089 03127500
  153.          KCALL INTINI,3,E=KRMXFZ  Initialize for receive       @SC87300 03128000
  154.          MVI   RTYPE,0       No packet read yet                @SC88074 03128500
  155.          KCALL RECEIV                                                   03129000
  156.          B     KRMXFZ                                          @SC86239 03130000
  157. *                                                                       03131000
  158. KRMNPS   OI    FL4,NPS                                         @SC86165 03132000
  159.          MVI   TCTLQ,0       Turn off control quoting          @SC86165 03133000
  160. *                                                                       03134000
  161. KRMSND   PTEXT '&KSYS filespec - ',AREG=1,LREG=0               @SC88035 03135000
  162.          BAL   2,USNASKA     Prompt if necessary               @SC88035 03135300
  163.          SR    6,6           No extra files yet                @SC88306 03135370
  164.          L     7,MSNDBUF     Start of buffer                   @SC88306 03135440
  165. USNSND1  DS    0H                                              @SC88306 03135510
  166.          LA    0,FFSND                                         @SC88035 03135600
  167.          KCALL FSPEC,IFILE   Get filespec                      @SC86295 03136000
  168.          BAL   14,LUPCKFN                                      @SC86295 03137000
  169.          PTEXT 'Foreign filespec - ',AREG=1,LREG=0             @SC88035 03137300
  170.          BAL   2,USNASKT     Prompt if user omitted args       @SC88035 03137600
  171.          LA    0,FFSND+FFRCF                                   @SC86295 03138000
  172.          KCALL FSPEC,JFSPEC  Get filespec                      @SC86295 03139000
  173.          BAL   14,LUPCKFN                                      @SC86295 03140000
  174.          CLI   BRK,C','      Multi-file option?                @SC88306 03140070
  175.          BNE   USNSND2                                         @SC88306 03140140
  176.          A     6,F1          Count files to send               @SC88306 03140210
  177.          PTEXT 'Too many SEND files'                           @SC88306 03140280
  178.          CH    6,=Y(MSNDMAX) Too many?                         @SC88306 03140350
  179.          BH    LUPINV        Too bad                           @SC88306 03140420
  180.          MVC   0(LFSTF,7),IFILE Save filespecs + options       @SC89218 03140490
  181.          LA    7,LFSTF(,7)   Advance ptr into buffer           @SC89218 03140630
  182.          PTEXT '&KSYS filespec - ',AREG=1,LREG=0               @SC88306 03140700
  183.          BAL   2,USNASKT     Prompt if necessary               @SC88306 03140770
  184.          B     USNSND1       Go for another name               @SC88306 03140840
  185. USNSND2  ST    7,MSNDPTR     Save buffer scan ptr              @SC88306 03140910
  186.          BAL   14,LUPCNF     Check for illegal extras          @SC86295 03141000
  187. KRMSNDBG KCALL SEND                                                     03142000
  188. KRMXFZ   SR    3,3                                             @SC86355 03143000
  189.          ICM   3,1,ERRNUM    Ok?                               @SC86355 03144000
  190.          BZ    LOOP          Yes, get next command             @SC86355 03145000
  191.          SLL   3,2           No, convert error number          @SC86355 03146000
  192.          A     3,=A(ERRTAB)  Ptr into message table            @SC89215 03147000
  193.          SR    4,4                                             @SC86355 03148000
  194.          IC    4,0(3)        Length                            @SC86355 03149000
  195.          ICM   3,7,1(3)      Message ptr                       @SC86355 03150000
  196.          B     LUPWRTE       Display it and go on              @SC86355 03151000
  197. *                                                                       03151070
  198. USNASKA  NI    KFLG,255-PRMP Assume no prompting               @SC88035 03151140
  199.          FTOKN N=USNASK      Check for some text waiting       @SC88035 03151210
  200.          BR    2             Ok, use it                        @SC88035 03151280
  201. USNASKT  TM    KFLG,PRMP     Is prompting required?            @SC88035 03151350
  202.          BZR   2             No, ok                            @SC88035 03151420
  203. USNASK   OI    KFLG,PRMP     Must prompt for both filespecs    @SC88035 03151490
  204.          LA    3,CMD         Use input buffer                  @SC88035 03151560
  205.          ST    3,ADR                                           @SC88035 03151630
  206.          RTEXT (3),PROMPT=((1),(0)) Ask for filespec           @SC88035 03151700
  207.          ST    0,LEN         Save string length                @SC88035 03151770
  208.          BR    2                                               @SC88035 03151840
  209. *                                                                       03152000
  210. KRMXPE   L     5,ADR         Pointer to rest of line           @HF86150 03153000
  211.          ICM   4,15,LEN      Remaining data length             @HF86150 03154000
  212.          BNP   KRMXPEH       Go if nothing specified           @HF86150 03155000
  213.          L     3,RBUF                                          @HF86150 03156000
  214.          MVC   0(256,3),0(5) Copy to disk read buffer          @HF86150 03157000
  215.          AR    4,3           Get end                           @HF86150 03158000
  216.          STM   3,4,TXTPTR    Point to text to copy             @HF86150 03159000
  217.          OI    FL4,SFM+NPS   Data source: text string          @SC86165 03160000
  218.          MVI   TCTLQ,AUP     Turn on control quoting           @SC86165 03161000
  219.          MVC   MSNDPTR,MSNDBUF No extra files                  @SC88306 03161500
  220.          B     KRMSNDBG                                        @SC86165 03162000
  221. *                                                                       03163000
  222. KRMXPEH  PTEXT 'Text string with ^X for cntl-X'                @SC86165 03164000
  223.          B     LUPWRT                                          @SC86295 03165000
  224. *                                                                       03166000
  225. KRMSRV   BAL   14,LUPCNF     Check for illegal extras          @SC86295 03167000
  226.          KCALL SERVER        Call SERVER routine               @SC86295 03168000
  227.          B     KRMXFZ        Return to normal mode             @SC86355 03169000
  228. *                                                                       03170000
  229. KRMDIR   LA    0,FFUTL+FFWLD                                   @SC86295 03171000
  230.          KCALL FSPEC,FILNAM  Get pattern filespec              @SC86295 03172000
  231.          BAL   14,LUPCKFN    Make sure ok                      @SC86295 03173000
  232.          LA    0,13                                            @SC86295 03174000
  233.          KCALL DISKIO,FILNAM Do a DIR on it                    @SC86295 03175000
  234.          B     LOOP                                            @SC86295 03176000
  235. *                                                                       03177000
  236. KRMHLP   KCALL KHELP         Issue help request                @SC86355 03178000
  237.          B     LOOP                                            @SC86355 03179000
  238. *                                                                       03180000
  239. KRMXIT   FTOKN N=KRMXITQ,H=LUPCRH Check for illegal extras     @SC86295 03181000
  240.          B     LUPBAD        Not just QUIT, maybe system Q     @SC86295 03182000
  241. *                                                                       03183000
  242. KRMXITQ  NXTFSET ,END        Flush pending file list           @SC86355 03184000
  243.          L     2,TAKLEVK                                       @SC86295 03185000
  244. KRMXITL  BCTR  2,0                                             @SC86295 03186000
  245.          LTR   3,2           Any pending TAKE files?           @SC86295 03187000
  246.          BM    RTRN0         No                                @SC86295 03188000
  247.          SLA   3,2                                             @SC86295 03189000
  248.          CLOSF TAKTABK(3)    Close the open file               @SC86295 03190000
  249.          B     KRMXITL       Keep checking                     @SC86295 03191000
  250.          LOCALS ,                                              @SC86295 03192000
  251. * See SERVER for mapping                                       @SC86295 03193000
  252.          DS    A             Return adr if no more TAKE stuff  @SC86295 03194000
  253.          DS    A             Adr of command table              @SC86295 03195000
  254. TAKLEVK  DS    F             Take file level                   @SC86295 03196000
  255. TAKTABK  DS    (TAKMAX)F     Tickets for I/O                   @SC86295 03197000
  256. KFLG     DS    X             Local flags in main program       @SC86295 03198000
  257. PRMP     EQU   X'10'         Prompting for filespecs           @SC88035 03198500
  258. SIGN     EQU   X'04'         Already printed Kermit banner     @SC86295 03199000
  259. CMDC     EQU   X'02'         Command gotten from cmd                    03200000
  260. CMDL     EQU   X'01'         Data on cmd line                           03201000
  261. USNTRF   EXIT                                                           03202000
  262.          TITLE 'SET Routine - perform SET command options'              03203000
  263. * Set/change values in STORAG.                                          03204000
  264. * Entry: SCANPTR string has option                                      03205000
  265. * Exit: R15=0 if ok, 1 if help needed, 2 if bad parameter name          03206000
  266. *       ERRNUM unchanged                                                03207000
  267. SET      ENTER                                                          03208000
  268.          MVI   SETXI,X'97'   XI instruction                    @SC86273 03209000
  269.          NTOKN N=RTRN2                                         @SC86171 03210000
  270.          NI    FL3,255-PXCH  Make sure server renegotiates     @SC86295 03211000
  271.          L     3,=A(SETCMDS)                                   @SC90040 03211300
  272.          USING SETCMDS,3     Address CSECT throughout          @SC90040 03211600
  273.          SCAN  SETCMDKW,RTRN1                                  @SC86295 03212000
  274.          B     RTRN2                                           @SC86295 03213000
  275. *                                                                       03214000
  276. SETCMDS  CSECT                                                 @SC90040 03214500
  277. SETOOKW  KW    'OFF',SETOFF,MIN=2                              @SC87166 03215000
  278.          KW    'ON',SETON,MIN=2                                @SC87166 03216000
  279.          KW    ,                                               @SC87166 03217000
  280. *                                                                       03218000
  281. SETCMDOO KW    'OFF',SETOFFS,MIN=2                             @SC87166 03221000
  282. SETONKW  KW    'ON',SETONS,MIN=2                               @SC87166 03222000
  283.          KW    ,                                               @SC86171 03223000
  284. SET      CSECT                                                 @SC90040 03223500
  285. *                                                                       03224000
  286. SETOFF   EX    0,0(9)        Yes, first turn flag on...        @SC87166 03225000
  287.          EX    0,SETXI       Then off                          @SC86273 03226000
  288.          B     RTRN0                                           @SC87166 03227000
  289. *                                                                       03228000
  290. SETON    EX    0,0(9)        Turn flag on                      @SC87166 03229000
  291.          B     RTRN0                                           @SC87166 03230000
  292. *                                                                       03231000
  293. SETOFFS  B     4(9)                                            @SC87166 03232000
  294. *                                                                       03233000
  295. SETONS   BR    9             Go to ON handler                  @SC87166 03234000
  296. *                                                                       03235000
  297. SETCMDS  CSECT                                                 @SC90040 03235500
  298. SETTRKW  KW    'TTY',SETT                                      @SC87166 03236000
  299.          KW    'SERIES1',SETT                                  @SC87166 03237000
  300.          KW    'GRAPHICS',SETT                                 @SC87166 03238000
  301.          KW    'FULLSCREEN',SETTF                              @SC89096 03239000
  302.          KW    'VTAMTTY',SETT                                  @SC88323 03239500
  303.          KW    ,                                               @SC87166 03240000
  304. SET      CSECT                                                 @SC90040 03240500
  305. *                                                                       03241000
  306. SETT     MVC   TRMTP,0(6)                                      @SC87166 03242000
  307.          B     RTRN0                                           @SC87166 03243000
  308. *                                                                       03243200
  309. SETTF    MVI   TRMTP,C'V'                                      @SC89096 03243400
  310.          B     RTRN0                                           @SC89096 03243600
  311. *                                                                       03244000
  312. SETCMDS  CSECT                                                 @SC90040 03244500
  313. SETSWT   KW    'CONTINUE',SETOFF                               @SC86171 03245000
  314.          KW    'HALT',SETON                                    @SC86171 03246000
  315.          KW    ,                                               @SC86171 03247000
  316. *                                                                       03248000
  317. SETDSC   KW    'DISCARD',SETOFF                                @SC86225 03249000
  318.          KW    'KEEP',SETON                                    @SC86225 03250000
  319.          KW    ,                                               @SC86225 03251000
  320. *                                                                       03251080
  321. SETCLSKW KW    'APPEND',SETCLSA                                @SC90033 03251160
  322.          KW    'BACKUP',SETCLSR                                @SC90033 03251240
  323.          KW    'DISCARD',SETCLSR                               @SC90033 03251320
  324.          KW    'OVERWRITE',SETCLSN                             @SC90033 03251400
  325.          KW    'RENAME',SETCLSR                                @SC90033 03251480
  326.          KW    ,                                               @SC90033 03251560
  327. *                                                                       03251640
  328. SETOVWKW KW    'DEFAULT',SETOFF                                @SC90033 03251720
  329.          KW    'PRESERVE',SETON                                @SC90033 03251800
  330.          KW    ,                                               @SC90033 03251880
  331. *                                                                       03252000
  332. SETPAR   KW    'MARK',SETOFF                                   @SC86316 03253000
  333.          KW    'NONE',SETON                                    @SC86316 03254000
  334.          KW    ,                                               @SC86316 03255000
  335. SET      CSECT                                                 @SC90040 03255500
  336. *                                                                       03256000
  337. SETTABS  LA    4,SETCMDOO                                      @SC87166 03257000
  338.          BAL   14,SETSCN                                       @SC87166 03258000
  339.           B    SETTBON       Turn on                           @SC86355 03259000
  340.          NI    FL2,255-TABS  Turn off                          @SC86355 03260000
  341.          MVC   TABCNT,F0     Clear count                       @SC86355 03261000
  342.          B     RTRN0                                           @SC86295 03262000
  343. SETTBON  OI    FL2,TABS      Turn on                           @SC86355 03263000
  344.          MVC   TABCNT,F0     Clear count                       @SC86355 03264000
  345.          SR    0,0           Init previous tab                 @SC86355 03265000
  346.          LA    3,TABTBL      Point to start of tab table       @TS86100 03266000
  347.          LA    8,255         Limit on tab stops                @SC86355 03267000
  348.          LA    5,TABCNT      End of table                      @SC86355 03268000
  349. SETTBLP  ICM   2,15,LEN      Any more tokens?                  @SC86355 03269000
  350.          BNP   SETTBN        No, done                          @SC86355 03270000
  351.          STC   0,0(3)        Save previous tab                 @SC86355 03271000
  352.          BAL   2,SETNUM      Read number                       @SC86355 03272000
  353.          CLM   0,1,0(3)      Is this tab higher than previous? @SC86355 03273000
  354.          BNH   SETTBSEQ      No, tab out of sequence           @TS86100 03274000
  355.          CR    3,5           Exceeded capacity?                @SC86355 03275000
  356.          BNL   SETTBHI       Yes                               @TS86100 03276000
  357.          STC   0,0(3)        Save tab setting                  @TS86100 03277000
  358.          LA    3,1(3)        Bump counter                      @SC86355 03278000
  359.          B     SETTBLP                                         @SC86355 03279000
  360. SETTBN   LA    0,TABTBL      Point to start of tab table       @SC86355 03280000
  361.          SR    3,0           Get length of table               @SC86355 03281000
  362.          STH   3,TABCNT      Save the tab count                @TS86100 03282000
  363.          B     RTRN0                                           @SC86355 03283000
  364. SETTBHI  PTEXT 'Too many tabs'                                 @SC86355 03284000
  365.          B     SETTBER       Return error                      @SC86355 03285000
  366. SETTBSEQ PTEXT 'Tabs out of sequence'                          @TS86100 03286000
  367. SETTBER  NI    FL2,255-TABS  Turn off                          @SC86355 03287000
  368.          B     SUBERR        Return error                      @TS86100 03288000
  369. *                                                                       03289000
  370. SETLIN   BAL   2,SETFSTR     Get fixed-format string           @SC86166 03290000
  371.          PTEXT 'Bad line'                                      @SC87351 03291000
  372.          KCALL SETMSG,5,E=SUBERR Make sure it's ok             @SC87351 03292000
  373.          B     RTRN0                                           @SC86166 03293000
  374. *                                                                       03294000
  375. SETPRP   LA    0,KPRPT       Ptr to new prompt string          @SC87351 03295000
  376.          KCALL SUPFNC,11     Ok it with system                 @SC87351 03296000
  377.          B     RTRN0                                           @SC87351 03297000
  378. *                                                                       03297090
  379. SETCLSA  OI    FL3,APPN      Set APPEND ON                     @SC90033 03297180
  380.          NI    FL1,255-REN   ... and "WARN" OFF                @SC90033 03297270
  381.          B     SETCLSZ                                         @SC90033 03297360
  382. SETCLSR  OI    FL1,REN       Set "WARN" ON                     @SC90033 03297450
  383.          B     SETCLSY       ... and APPEND OFF                @SC90033 03297540
  384. SETCLSN  NI    FL1,255-REN                                     @SC90033 03297630
  385. SETCLSY  NI    FL3,255-APPN                                    @SC90033 03297720
  386. SETCLSZ  MVC   CLSNFL,0(6)   Save collision code               @SC90033 03297810
  387.          B     RTRN0                                           @SC90033 03297900
  388. *                                                                       03298000
  389.          KSETPRC ,           System-specific options           @SC86355 03299000
  390. *                                                                       03300000
  391. SETCMDS  CSECT                                                 @SC90040 03300030
  392. SETALFKW KW    'LATIN1  ',SETALF1,MIN=6  Must be fixed-length  @SC90040 03300060
  393.          KW    'ASCII   ',SETALF1,MIN=3                        @SC90040 03300090
  394.          KW    'CYRILLIC',SETALF1,MIN=3                        @SC90040 03300120
  395.          KW    'GREEK   ',SETALF1,MIN=3                        @SC90040 03300150
  396.          KW    'HEBREW  ',SETALF1,MIN=3                        @SC90040 03300180
  397.          KW    'KATAKANA',SETALF1,MIN=3                        @SC90040 03300210
  398.          KW    ,                                               @SC90040 03300240
  399. SETFALFK KW    'EBCDIC  ',SETALF1,MIN=6                        @SC90040 03300270
  400.          KW    'CP037   ',SETALF1,MIN=5                        @SC90040 03300300
  401.          KW    'CP273   ',SETALF1,MIN=5                        @SC90040 03300330
  402.          KW    'CP275   ',SETALF1,MIN=5                        @SC90040 03300360
  403.          KW    'CP277   ',SETALF1,MIN=5                        @SC90040 03300390
  404.          KW    'CP278   ',SETALF1,MIN=5                        @SC90040 03300420
  405.          KW    'CP280   ',SETALF1,MIN=5                        @SC90040 03300450
  406.          KW    'CP282   ',SETALF1,MIN=5                        @SC90040 03300480
  407.          KW    'CP284   ',SETALF1,MIN=5                        @SC90040 03300510
  408.          KW    'CP285   ',SETALF1,MIN=5                        @SC90040 03300540
  409.          KW    'CP297   ',SETALF1,MIN=5                        @SC90040 03300570
  410.          KW    'CP290   ',SETALF1,MIN=5                        @SC90040 03300600
  411.          KW    'CP424   ',SETALF1,MIN=5                        @SC90040 03300630
  412.          KW    'CP500   ',SETALF1,MIN=5                        @SC90040 03300660
  413.          KW    'CP871   ',SETALF1,MIN=5                        @SC90040 03300690
  414.          KW    'CP875   ',SETALF1,MIN=5                        @SC90040 03300720
  415.          KW    'DKOI    ',SETALF1,MIN=4                        @SC90040 03300750
  416.          KW    ,                                               @SC90040 03300780
  417. *                                                                       03300810
  418. SETFKW   KW    'LRECL',SHOLR               **COMPAT**          @SC87166 03301000
  419.          KW    'LONGLINE',SHOLNG,MIN=2     **COMPAT**          @SC88120 03301500
  420.          KW    'COLLISION',SHOCLSN,MIN=2   **COMPAT**          @SC90033 03301600
  421.          KW    'OVERWRITE',SHOOVWR         **COMPAT**          @SC90033 03301700
  422.          KW    'T',SETFT                   **COMPAT**          @SC87166 03302000
  423.          KW    'TYPE',SHOFILT              **COMPAT**          @SC87166 03303000
  424.         KFILKW ,                           **COMPAT**          @SC87166 03304000
  425.          KW    'CHARACTER-SET',SHOFALF,MIN=2                   @SC90040 03304500
  426. SETFIL   KW    'TEXT',SETFILET                                 @SC86133 03305000
  427.          KW    'BINARY',SETFILEB                               @SC86262 03306000
  428. SETDBIN  KW    'D-BINARY',SETFILEB                             @SC86262 03307000
  429.          KW    'V-BINARY',SETFILEB                             @SC86151 03308000
  430.          KW                                                             03309000
  431. SET      CSECT                                                 @SC90040 03309500
  432. *                                                                       03310000
  433. SETALF1  MVC   0(L'TRNALF,8),5(1)                              @SC90040 03310100
  434.          LR    0,8           Pass ptr to the changed code      @SC90040 03310200
  435.          KCALL TBLSET,ATOE   Set up translations               @SC90040 03310300
  436.          B     RTRN                                            @SC90040 03310400
  437. *                                                                       03310500
  438. SETFILEB OI    FL1,BINF              Set binary on                      03311000
  439. SETFLR   MVC   TYPFIL,0(6)   Save type                         @SC88120 03313000
  440.          B     RTRN0                                           @SC86295 03316000
  441. *                                                                       03317000
  442. SETFILET NI    FL1,255-BINF          Set it OFF                         03318000
  443.          B     SETFLR                                          @SC87012 03319000
  444. *                                                                       03319100
  445. SETCMDS  CSECT                                                 @SC90040 03319150
  446. SETLNGKW KW    'FOLD',SETLNG                                   @SC88120 03319200
  447.          KW    'HALT',SETLNG                                   @SC88120 03319300
  448.          KW    'TRUNCATE',SETLNG                               @SC88120 03319400
  449.          KW    ,                                               @SC88120 03319500
  450. SET      CSECT                                                 @SC90040 03319550
  451. SETLNG   MVC   TRNCFL,0(6)   Save flag                         @SC88120 03319600
  452.          B     RTRN0                                           @SC88120 03319700
  453. *                                                                       03320000
  454.          KFILSET ,                                             @SC87012 03321000
  455. *                                                                       03322000
  456. SETDEB   BAL   4,SETSCN      Select among possibilities        @SC88168 03323000
  457.          KW    'ON',SETDON                                     @SC88168 03323500
  458.          KW    'OFF',SETDEND,MIN=2                             @SC88168 03324000
  459. SETRAW   KW    'RAW',SETDRAW                                   @SC88168 03324500
  460.          KW    'I/O',SETDIO                                    @SC88168 03325000
  461.          KW    'SAVE',SETDSV                                   @SC88168 03325500
  462.          KW    ,                                               @SC88168 03326000
  463. SETDEBOF NI    FL1,255-DEBUG         Set it OFF                         03327000
  464.          CLOSF LOGPTR        Done logging                      @SC86135 03329000
  465.          B     RTRN0                                           @SC86295 03330000
  466. *                                                                       03331000
  467. SETDRAW  OI    SHODBG,DBGON+DBGRW   RAW -> ON                  @SC88168 03332000
  468.          B     SETDB1                                          @SC88168 03332200
  469. SETDIO   OI    SHODBG,DBGON+DBGIO   I/O -> ON                  @SC88168 03332400
  470.          B     SETDB1                                          @SC88168 03332600
  471. SETDSV   OI    SHODBG,DBGON+DBGSV   SAVE-> ON                  @SC88168 03332800
  472.          B     SETDB1                                          @SC88168 03333000
  473. SETDON   OI    SHODBG,DBGON                                    @SC88168 03333200
  474. SETDB1   ICM   2,15,LEN      Any more options?                 @SC88168 03333400
  475.          BP    SETDEB        Yes, interpret them               @SC88168 03333600
  476. SETDEND  XC    SHODBG,DBGFLG Get changed flags in SHODBG       @SC88168 03333800
  477.          XC    DBGFLG,SHODBG Install new flags                 @SC88168 03334000
  478.          TM    SHODBG,DBGON  ON/OFF changed?                   @SC88168 03334200
  479.          BZ    RTRN0         No, done                          @SC88168 03334400
  480.          TM    DBGFLG,DBGON  Turned ON?                        @SC88168 03334600
  481.          BZ    SETDEBOF      No, turn it off                   @SC88168 03334800
  482.          NI    LOGFLGS,255-APPN                                @SC86295 03336000
  483.          LA    0,L'LOGNAM    Name string length                @SC86295 03337000
  484.          LA    1,LOGNAM      and address                       @SC86295 03338000
  485.          STM   0,1,SCANPTR                                     @SC86295 03339000
  486.          LA    0,FFRCF                                         @SC86295 03340000
  487.          KCALL FSPEC,IFILE   Convert to filespec               @SC86295 03341000
  488.          PTEXT 'DEBUG error'                                   @SC87012 03342000
  489.          OPENF O,IFILE,LOGFDB,LOGPTR,E=SUBERR                  @SC87012 03343000
  490.          OI    FL1,DEBUG     Enable logging                    @SC87012 03344000
  491.          MVI   ERRNUM,ERRNOE Insist no errors                  @SC88168 03344500
  492.          B     RTRN0                                           @SC86295 03345000
  493. *                                                                       03346000
  494. SET8B    NTOKN N=SET8BH,H=SET8BH                               @SC87008 03347000
  495.          LA    4,AAMP        Default value                     @SC87008 03348000
  496.          LA    9,SET8BS                                        @SC87008 03349000
  497.          SCAN  SETONKW,RTRN2                                            03350000
  498.          SR    4,4           Zero value means OFF              @SC87008 03351000
  499.          LTR   7,7           Length=1?                         @SC87008 03352000
  500.          BNZ   SET8BS        No, can't be ON                   @SC87008 03353000
  501.          BAL   2,SETQCH2     Make sure it's valid              @SC87008 03354000
  502. SET8BS   STC   4,EBQC        New value                         @SC87008 03355000
  503.          B     RTRN0                                           @SC87008 03356000
  504. SET8BH   PTEXT 'Must be ON, OFF, or a character'               @SC87008 03357000
  505.          B     SUBERR                                          @SC87008 03358000
  506. *                                                                       03359000
  507. SETSTR   LR    2,14                                            @SC87268 03360000
  508.          MVI   0(8),0        Default to blank                  @SC87166 03361000
  509.          BAL   9,WSP         Remaining data length             @SC86224 03362000
  510.           B    RTRN0         Null string                       @SC86295 03363000
  511.          LR    1,4           Max length allowed                @SC87268 03364000
  512.          CR    6,1                                             @SC86345 03365000
  513.          BH    SETSTRH       Too long                          @SC86345 03366000
  514.          STC   6,0(8)        Save length                       @SC87166 03367000
  515.          LA    8,1(8)        Skip over length byte             @SC87268 03368000
  516.          XR    6,7           Exchange ptr and length           @SC87268 03369000
  517.          XR    7,6                                             @SC87268 03370000
  518.          XR    6,7                                             @SC87268 03371000
  519.          B     SETFST1       Go copy string                    @SC87268 03372000
  520. *                                                                       03373000
  521. SETRCTLQ BAL   2,SETQCHR             Get a char for Receive-Ctl-quote   03374000
  522.          STC   4,RCTLQ(5)    Set receive ctl quote             @SC86164 03375000
  523.          LTR   5,5           Done if SEND                      @SC86223 03376000
  524.          BNZ   RTRN0                                           @SC86295 03377000
  525.          STC   4,DEFPARM+5   Set default for SPAR              @SC86120 03378000
  526.          B     RTRN0                                           @SC86295 03379000
  527. *                                                                       03380000
  528. SETQCHR  NTOKN H=SETQCHRH,N=SETQCHRH                                    03381000
  529.          LTR   7,7                   Token length - 1                   03382000
  530.          BP    SETQCHRH              Pos: token is too long             03383000
  531. SETQCH2  SR    4,4                                             @SC87008 03384000
  532.          IC    4,0(6)        Get the quote char                @SC86120 03385000
  533.          IC    4,ETOAD(4)    Get ASCII form                    @SC89301 03386000
  534.          NOTQR SETQCHRH      Go if not 33-62 or 96-126         @SC86120 03387000
  535.          BR    2                                                        03388000
  536. *                                                                       03389000
  537. SETQCHRH PTEXT 'One char with ASCII value 33-62 or 96-126'     @SC86224 03390000
  538.          B     SUBERR                                          @SC86295 03391000
  539. *                                                                       03392000
  540. SETLR    ST    0,MAXOUT      Max output buffer size            @SC87166 03393000
  541.          B     RTRN0                                           @SC86295 03394000
  542. *                                                                       03395000
  543. SETTIMO  BCT   5,RTRN0       Done if rec                       @SC87166 03396000
  544.          TOCHR 0,,DEFPARM+1  Set default for SPAR              @SC86164 03397000
  545.          B     RTRN0                                           @SC86295 03398000
  546. *                                                                       03399000
  547. SETPADN  BCT   5,RTRN0       Done if rec                       @SC87166 03400000
  548.          TOCHR 0,,DEFPARM+2  Set default for SPAR              @SC86164 03401000
  549.          B     RTRN0                                           @SC86295 03402000
  550. *                                                                       03403000
  551. SETPADC  BCT   5,RTRN0       Done if rec                       @SC87166 03404000
  552.          CTL   0,,DEFPARM+3  Set default for SPAR              @SC86164 03405000
  553.          B     RTRN0                                           @SC86295 03406000
  554. *                                                                       03407000
  555. SETEOL   BCT   5,RTRN0       Done if rec                       @SC87166 03408000
  556.          STC   0,S1EOL       Extra copy for prompting          @SC87274 03409000
  557.          TOCHR 0,,DEFPARM+4          Set default for SPAR               03410000
  558.          B     RTRN0                                           @SC86295 03411000
  559. *                                                                       03412000
  560. SETSIZ   C     0,AKMIN       Less than min Kermit size?        @SC87166 03413000
  561.          BL    SETKSIZH      Yes, error                        @SC86164 03414000
  562.          C     0,AKMAX       More than max Kermit size?        @SC86164 03415000
  563.          BNH   SETRPS1       No, skip message call             @TB86196 03416000
  564.          LTR   5,5           SEND?                             @SC86224 03417000
  565.          BNZ   SETKSIZH      Yes, can't set it long            @SC86224 03418000
  566.          LR    6,0           Save value across WTEXT           @SC86316 03419000
  567.          WTEXT 'Type 0 long packets specified'                 @SC86202 03420000
  568.          LR    0,6                                             @SC86316 03421000
  569. SETRPS1  DS    0H                                              @TB86196 03422000
  570.          BCT   5,RTRN0       Done if recv                      @SC86295 03423000
  571.          TOCHR 0,,DEFPARM+0          Set default for SPAR               03424000
  572.          B     RTRN0                                           @SC86295 03425000
  573. *                                                                       03426000
  574. SETKSIZH PTEXT 'Operand must be 20-94 for SEND' KMIN-KMAX      @SC86295 03427000
  575.          B     SUBERR                                          @SC86295 03428000
  576. *                                                                       03429000
  577. SETETOA  LA    3,ETOA        Address of table to change        @SC86265 03430000
  578.          NI    ATFL2,255-ATFENC Suppress Encoding attribute now@SC90040 03430500
  579.          B     SETTET2                                         @SC87117 03431000
  580. SETTET   LA    3,TETOA       Address of table to change        @SC87117 03432000
  581. SETTET2  LA    2,ETOAD       Address of original               @SC87117 03433000
  582. SETTR0   ICM   0,15,LEN      Any more tokens?                  @SC87117 03434000
  583.          BP    SETTR1        Yes, must be numeric              @SC87117 03435000
  584.          MVC   0(256,3),0(2) No, just reset table              @SC87117 03436000
  585.          B     RTRN0                                           @SC87117 03437000
  586. SETTR1   LA    8,255         Limit for each                    @SC87117 03438000
  587.          BAL   2,SETNUM      Get a number for table offset     @SC86295 03439000
  588.          AR    3,0           Save table offset here            @SC86295 03440000
  589.          BAL   2,SETNUM      Get a number for value            @SC86295 03441000
  590.          STC   0,0(3)        Change value                      @SC86295 03442000
  591.          B     RTRN0         All done                          @SC86295 03443000
  592. *                                                                       03444000
  593. SETATOE  LA    3,ATOE        Adr of table to edit              @SC86265 03445000
  594.          NI    ATFL2,255-ATFENC Suppress Encoding attribute now@SC90040 03445500
  595.          B     SETTAT2                                         @SC87117 03446000
  596. SETTAT   LA    3,TATOE       Address of table to change        @SC87117 03447000
  597. SETTAT2  LA    2,ATOED       Address of original               @SC87117 03448000
  598.          B     SETTR0                Use common routine                 03449000
  599. *                                                                       03450000
  600. *                                                                       03451000
  601. * R6 points to token, R7 has length-1.  Convert to binary in R0.        03452000
  602. * Return via R2                                                         03453000
  603. SETNUM2  LR    2,14          Save return                       @SC87166 03454000
  604. SETNUM   NTOKN H=SETNUMH,N=SETNUMH                             @SC86295 03455000
  605.          LA    7,1(7)        Length                            @SC86316 03456000
  606.          BAL   14,GETNUM                                       @SC86316 03457000
  607.           B    SETNUMH                                         @SC86316 03458000
  608.          CLR   0,8           Within limit?                     @SC86295 03459000
  609.          BH    SETNUMH       Too big                           @SC87166 03460000
  610.          CLI   0(2),X'47'    Entered at SETNUM2?               @SC87166 03461000
  611.          BNER  2             No, return immediately            @SC87166 03462000
  612.          LR    14,2          Ptr to caller                     @SC87166 03463000
  613.          S     14,F8         Back up to the LOAD instr         @SC87166 03464000
  614.          MVC   SETXI,0(14)   Copy and modify op instr          @SC87166 03465000
  615.          NC    SETXI(2),=X'F60F'                               @SC87166 03466000
  616.          CLI   SETXI,X'B6'   Was is ICM?                       @SC87166 03467000
  617.          BNE   *+8           No, ok                            @SC87166 03468000
  618.          MVI   SETXI,X'BE'   Yes, make into STCM               @SC87166 03469000
  619.          EX    0,SETXI       Store value                       @SC87166 03470000
  620.          BR    2             Return                            @SC87166 03471000
  621. *                                                                       03472000
  622. SETNUMH  LA    15,CMD+16                                       @SC86295 03473000
  623. SETMAXH  MVC   CMD(26),=C'Operand must be of length '          @SC86295 03474000
  624.          MVI   0(15),C'<'                                      @SC86295 03475000
  625.          LA    15,1(15)                                        @SC86295 03476000
  626.          LR    4,8                                             @SC86345 03477000
  627.          A     4,F1                                            @SC86345 03478000
  628.          BAL   2,EDDEC       Put limit into message            @SC86295 03479000
  629.          LR    4,15          End                               @SC86295 03480000
  630.          LA    3,CMD                                           @SC86295 03481000
  631.          SR    4,3                                             @SC86295 03482000
  632.          B     SUBERR                                          @SC86295 03483000
  633. *                                                                       03484000
  634. SETFSTR  LR    1,9           Save length                       @SC87166 03485000
  635.          NTOKN N=SETFST0,H=SETSTRH                             @SC87166 03486000
  636.          LA    7,1(7)                                          @SC86295 03487000
  637.          CR    7,1           Name too long?                    @SC86295 03488000
  638.          BNH   SETFST1       No, do it                         @SC86295 03489000
  639. SETSTRH  LR    8,1           Copy max length                   @SC86295 03490000
  640.          LA    15,CMD+26     Base message size                 @SC86295 03491000
  641.          B     SETMAXH                                         @SC86295 03492000
  642. SETFST0  SR    7,7           Empty string                      @SC86295 03493000
  643. SETFST1  ICM   7,8,BLANK     Set for blank fill                @SC86295 03494000
  644.          LR    9,1                                             @SC87166 03495000
  645.          MVCL  8,6           Copy name                         @SC87166 03496000
  646.          BR    2                                               @SC86295 03497000
  647.          TITLE 'SHOW Routine - performs SHOW command options'           03498000
  648. * Display current values in STORAG.                                     03499000
  649. * Entry: SCANPTR string has option                                      03500000
  650. * Exit: R15=0 if ok, 1 if help needed, 2 if bad parameter name          03501000
  651. *       ERRNUM unchanged                                                03502000
  652. SHOW     ENTER ALT                                             @SC86133 03503000
  653.          LA    0,CMD                                           @SC86227 03504000
  654.          ST    0,SHOPTR      Initialize output ptr             @SC86227 03505000
  655.          MVI   SETXI,X'91'   TM instruction                    @SC87166 03506000
  656.          L     3,=A(SETCMDS) Addressibility                    @SC90040 03506500
  657.          NTOKN N=SHOALL                                        @SC86133 03507000
  658.          SCAN  SHOCMDAL,RTRN1                                  @SC88293 03508000
  659. SHOBAD   B     RTRN2         Invalid operand                   @SC86295 03509000
  660. *                                                                       03510000
  661. SETCMDS  CSECT                                                 @SC90040 03510500
  662. SETCMDKW DS    0H                                              @SC87166 03511000
  663.          KW    'ATOE',SETATOE,MIN=4                            @SC87166 03512000
  664.          KW    'ETOA',SETETOA,MIN=4                            @SC87166 03513000
  665.          KW    'FILE-TYPE',SHOFILT,MIN=5                       @SC87166 03514000
  666.          KW    'TATOE',SETTAT,MIN=5                            @SC87166 03515000
  667.          KW    'TETOA',SETTET,MIN=5                            @SC87166 03516000
  668.          KW    GOTO,SHOCMDS  Skip over 'ALL'                   @SC88293 03516200
  669. *                                                                       03516400
  670. SHOATKW  KW    'LENGTH',SHOATLN                                @SC90037 03516410
  671.          KW    'TYPE',SHOATTP                                  @SC90037 03516420
  672.          KW    'DATE',SHOATDT,MIN=2                            @SC90037 03516430
  673.          KW    'CREATOR',SHOATCR,MIN=2                         @SC90037 03516440
  674.          KW    'ACCOUNT',SHOATACT,MIN=4                        @SC90037 03516450
  675.          KW    'AREA',SHOATAR,MIN=2                            @SC90037 03516460
  676.          KW    'PASSWORD',SHOATPW,MIN=2                        @SC90037 03516470
  677.          KW    'BLOCKSIZE',SHOATBLK                            @SC90037 03516480
  678.          KW    'ACCESS',SHOATACC,MIN=3                         @SC90037 03516490
  679.          KW    'ENCODING',SHOATENC                             @SC90037 03516500
  680.          KW    'DISPOSITION',SHOATDSP,MIN=2                    @SC90037 03516510
  681.          KW    'PROTECT',SHOATPRO,MIN=2                        @SC90037 03516520
  682.          KW    'ORIGIN',SHOATORG                               @SC90037 03516530
  683.          KW    'FORMAT',SHOATFMT                               @SC90037 03516540
  684.          KW    'SYS-INFO',SHOATSFO,MIN=2                       @SC90037 03516550
  685.          KW    'BYTE-LENGTH',SHOATXLN,MIN=2                    @SC90037 03516560
  686.          KW    ,                                               @SC90037 03516570
  687. *                                                                       03516580
  688. SHOCMDAL KW    'ALL',SHOALL,MIN=3                              @SC88293 03516600
  689. SHOCMDS  EQU   *                                               @SC90037 03516700
  690. SHOATCM  KW    'ATTRIBUTES',SHOATT,MIN=3                       @SC90037 03516800
  691. *                                                                       03517000
  692.          KW    'RECFM',SHORFM,MIN=4                            @SC87012 03518000
  693.          KW    'LRECL',SHOLR                                   @SC86133 03519000
  694.          KW    'WARNING',SHOWARN      ***COMPAT***             @SC90033 03519300
  695.          KW    'APPEND',SHOAPP,MIN=3  ***COMPAT***             @SC90033 03519600
  696.          KW    'BAUD',SHOBAUD,MIN=2   ***COMPAT***             @SC90099 03519800
  697. SHOCMDKW EQU   *             Must match order of code                   03520000
  698.          KW    'TABS-EXPAND',SHOTABS                           @SC86133 03521000
  699.          KW    'EOF',SHOEOF,MIN=3                              @SC86133 03522000
  700.          KW    'DEBUG',SHODEB                                  @SC86133 03523000
  701.          KW    'BLOCK-CHECK',SHOBLK                            @SC86133 03524000
  702.          KW    '8-BIT-QUOTE',SHO8B                             @SC87008 03525000
  703.          KW    'PROMPT',SHOPRP,MIN=2                           @SC87268 03526000
  704.          KW    'LINE',SHOLIN,MIN=3                             @SC87166 03527000
  705.          KW    'CONTROLLER',SHOTRM,MIN=3                       @SC87268 03528000
  706.          KW    'HANDSHAKE',SHOHND                              @SC87274 03529000
  707.          KW    'SPEED',SHOBAUD,MIN=2                           @SC90099 03530000
  708.          KW    'SYSCMD',SHOSYS,MIN=2                           @SC86295 03532000
  709.          KW    'TTABLE',SHOTTB,MIN=2                           @SC87117 03533000
  710.          KW    'DELAY',SHODLY,MIN=3                            @SC86164 03534000
  711.          KW    'INCOMPLETE',SHOINC,MIN=3                       @SC86225 03536000
  712.          KW    'TEST',SHOTST,MIN=4                             @SC87166 03537000
  713.          KW    'SERVER-TIMEOUT',SHOSERV,MIN=3                  @SC90045 03537500
  714.         KSETKW ,             Specific parameters               @SC87166 03538000
  715.          KW    'TRANSFER',SHOTRN,MIN=2                         @SC90040 03538500
  716.          KW    'FILE',SHOFIL                                   @SC86295 03539000
  717.          KW    'MARGIN',SHOMRG                                 @SC87253 03540000
  718.          KW    'FOREIGN',SHOFOR,MIN=3                          @HF86223 03541000
  719.          KW    'RETRY',SHORETR,MIN=3                           @SC86345 03542000
  720.          KW    'TAKE',SHOTAK,MIN=3                             @SC86171 03543000
  721.          KW    'RECEIVE',SHORECV,MIN=3                         @SC86133 03544000
  722.          KW    'SEND',SHOSEND,MIN=3                            @SC86224 03545000
  723.          KW    ,                                               @SC86133 03546000
  724. SET      CSECT                                                 @SC90040 03546500
  725. *                                                                       03547000
  726. SHOATT   MVC   SHOTMP(8),SCANPTR   Save string ptrs            @SC90037 03547010
  727.          LA    0,3           Max interesting count             @SC90037 03547020
  728. SHOATL1  NTOKN N=SHOATL2     Count tokens after ATTRIB         @SC90037 03547030
  729.          BCT   0,SHOATL1                            R0=3 => 0  @SC90037 03547040
  730. SHOATL2  MVC   SCANPTR(8),SHOTMP  Restore              2 => 1  @SC90037 03547050
  731.          CLI   SETXI,X'97'   SET?                      1 => 2  @SC90037 03547060
  732.          BE    *+6           Yes, 2 more means "item"  0 => >2 @SC90037 03547070
  733.           BCTR 0,0           No, 1 more means "item"           @SC90037 03547080
  734.          BCT   0,SHOATS      Go if not "item"                  @SC90037 03547090
  735.          LA    4,SHOATKW     List of possible items            @SC90037 03547100
  736.          B     SHOGRP        Do the right one                  @SC90037 03547110
  737. SHOATS   OI    SFLG,ALLF+ASRF  Set to display both levels..    @SC90037 03547120
  738.          BAL   14,SHOOO      Just SET ATT or SHO ATT           @SC90037 03547130
  739.           OI   SCAPA,8                                         @SC90037 03547140
  740.          LA    1,SHOATCM     Point at keywork again (SHO ATT)  @SC90037 03547150
  741.          LA    4,SHOATKW     Do whole list                     @SC90037 03547160
  742.          B     SHOGRP                                          @SC90037 03547170
  743. SHOATLN  BAL   14,SHOOO      Length                            @SC90037 03547180
  744.           OI   ATFLG,ATFLNG                                    @SC90037 03547190
  745. SHOATTP  BAL   14,SHOOO      Type                              @SC90037 03547200
  746.           OI   ATFLG,ATFTYP                                    @SC90037 03547210
  747. SHOATDT  BAL   14,SHOOO      Date                              @SC90037 03547220
  748.           OI   ATFLG,ATFDAT                                    @SC90037 03547230
  749. SHOATCR  BAL   14,SHOOO      Creator                           @SC90037 03547240
  750.           OI   ATFLG,ATFCRE                                    @SC90037 03547250
  751. SHOATACT BAL   14,SHOOO      Account                           @SC90037 03547260
  752.           OI   ATFLG,ATFACT                                    @SC90037 03547270
  753. SHOATAR  BAL   14,SHOOO      Area                              @SC90037 03547280
  754.           OI   ATFLG,ATFARE                                    @SC90037 03547290
  755. SHOATPW  BAL   14,SHOOO      Password                          @SC90037 03547300
  756.           OI   ATFLG,ATFPWD                                    @SC90037 03547310
  757. SHOATBLK BAL   14,SHOOO      Blocksize                         @SC90037 03547320
  758.           OI   ATFLG,ATFBLK                                    @SC90037 03547330
  759. SHOATACC BAL   14,SHOOO      Access                            @SC90037 03547340
  760.           OI   ATFL2,ATFACC                                    @SC90037 03547350
  761. SHOATENC BAL   14,SHOOO      Encoding                          @SC90037 03547360
  762.           OI   ATFL2,ATFENC                                    @SC90037 03547370
  763. SHOATDSP BAL   14,SHOOO      Disposition                       @SC90037 03547380
  764.           OI   ATFL2,ATFDSP                                    @SC90037 03547390
  765. SHOATPRO BAL   14,SHOOO      Protection                        @SC90037 03547400
  766.           OI   ATFL2,ATFPRO                                    @SC90037 03547410
  767. SHOATORG BAL   14,SHOOO      Origin                            @SC90037 03547420
  768.           OI   ATFL2,ATFORG                                    @SC90037 03547430
  769. SHOATFMT BAL   14,SHOOO      Format                            @SC90037 03547440
  770.           OI   ATFL2,ATFFMT                                    @SC90037 03547450
  771. SHOATSFO BAL   14,SHOOO      System info                       @SC90037 03547460
  772.           OI   ATFL2,ATFSFO                                    @SC90037 03547470
  773. SHOATXLN BAL   14,SHOOO      Byte count                        @SC90037 03547480
  774.           OI   ATFL3,ATFXLN                                    @SC90037 03547490
  775.          B     SHOGRPZ                                         @SC90037 03547500
  776. *                                                                       03547510
  777. SHOALL   OI    SFLG,ALLF     Do all                            @SC86295 03548000
  778.          SR    0,0           Clear screen (if fullscreen)      @SC90045 03548300
  779.          KCALL SCRNIO                                          @SC90045 03548600
  780.          LA    1,SHOCMDKW    Start at beginning                @SC86133 03549000
  781. *                                                                       03550000
  782. *          Each routine begins with R1-> keyword item          @SC86133 03551000
  783. SHOTABS  CLI   SETXI,X'97'   SET or SHOW?                      @SC87166 03552000
  784.          BE    SETTABS                                         @SC87166 03553000
  785.          BAL   14,SHOOO      On or off                         @SC86133 03554000
  786.           OI   FL2,TABS                                        @SC87166 03555000
  787. SHOTABSZ LH    5,TABCNT      Count of tabs                     @SC86355 03556000
  788.          LA    3,TABTBL      Ptr to table of tabs              @SC86355 03557000
  789.          BAL   14,SHOLIST    Display list of tab stops, if any @SC86355 03558000
  790.           NOP  0                                               @SC87166 03559000
  791. SHOEOF   BAL   14,SHOOO      On or off                         @SC86133 03560000
  792.           OI   FL2,EOFZ                                        @SC87166 03561000
  793. SHODEB   CLI   SETXI,X'97'   SET or SHOW?                      @SC87166 03562000
  794.          BE    SETDEB                                          @SC87166 03563000
  795.          BAL   14,SHOOO      1st get ON vs. OFF                @SC88168 03564000
  796.           OI   FL1,DEBUG                                       @SC88168 03565000
  797. SHODEBZ  MVC   SHODBG,DBGFLG Copy flags for decoding           @SC88168 03566000
  798.          LA    6,SETRAW      List of options                   @SC88168 03567000
  799.          BAL   4,SHOMULT     See if any extra flags on         @SC88168 03568000
  800.           NOP  0                                               @SC88168 03569000
  801. SHOBLK   SR    4,4                                             @SC86133 03570000
  802.          LA    8,3           Limit                             @SC87166 03571000
  803.          IC    4,BCTC        Get block check type              @SC86133 03572000
  804.          BAL   14,SHONUM     Print it                          @SC86133 03573000
  805.           B    RTRN0         OK                                @SC87166 03574000
  806. SHO8B    LA    8,EBQC                                          @SC87008 03575000
  807.          BAL   14,SHOCHRA    Display ASCII char                @SC87008 03576000
  808.           B    SET8B                                           @SC87166 03577000
  809. SHOPRP   LA    8,KPRPL       Ptr to prompt                     @SC87268 03578000
  810.          LA    4,20          Max length                        @SC87268 03579000
  811.          BAL   14,SHOSTR                                       @SC87268 03580000
  812.           B    SETPRP        Do any system-dependent setup     @SC87351 03581000
  813. SHOLIN   LA    8,TRMLIN                                        @SC87166 03582000
  814.          LA    9,L'TRMLIN                                      @SC87166 03583000
  815.          BAL   14,SHOCHRN                                      @SC87166 03584000
  816.           B    SETLIN                                          @SC87166 03585000
  817. SHOTRM   LA    4,SETTRKW                                       @SC87166 03586000
  818.          LA    6,TRMTP                                         @SC87166 03587000
  819.          BAL   14,SHOBRV     Get full name from abbrev.        @SC87166 03588000
  820.           NOP  0                                               @SC87166 03589000
  821. SHOHND   SR    4,4                                             @SC87274 03590000
  822.          IC    4,S1HND                                         @SC87274 03591000
  823.          BAL   14,SHOCTL     Print it                          @SC87274 03592000
  824.           B    RTRN0                                           @SC87274 03593000
  825. SHOBAUD  L     4,BAUD                                          @SC86164 03594000
  826.          BAL   14,SHONBIG    Print it                          @SC86164 03595000
  827.           B    RTRN0                                           @SC87166 03596000
  828. SHOSYS   BAL   14,SHOOO      On or off                         @SC86295 03599000
  829.           OI   FL2,PASS                                        @SC87166 03600000
  830. SHOTTB   BAL   14,SHOOO      On or off                         @SC87117 03601000
  831.           OI   FL4,TTAB                                        @SC87166 03602000
  832. SHODLY   L     4,LCLDLY                                        @SC86164 03603000
  833.          BAL   14,SHONBIG    Print it                          @SC86164 03604000
  834.           B    RTRN0                                           @SC87166 03605000
  835. SHOINC   LA    4,SETDSC      List of possibles                 @SC87166 03608000
  836.          BAL   14,SHOXY                                        @SC86225 03609000
  837.           OI   FL1,KEEP                                        @SC90037 03610000
  838. SHOTST   BAL   14,SHOOO                                        @SC87166 03611000
  839.           OI   FL1,TSTF      Turn on                           @SC87166 03612000
  840. SHOSERV  SR    4,4                                             @SC90045 03612200
  841.          IC    4,TIMOSRV     Server timeout (also switch)      @SC90045 03612400
  842.          BAL   14,SHONBIG                                      @SC90045 03612600
  843.           B    RTRN0         Index for server                  @SC90045 03612800
  844. *                                                                       03613000
  845.          KSHOPRC ,           System-specific options           @SC86355 03614000
  846. *                                                                       03615000
  847. SHOTRN   LA    4,SHOTRNKW    Ptr to sublist                    @SC90040 03615300
  848.          BAL   14,SHOGRP                                       @SC90040 03615600
  849. SHOFIL   LA    4,SHOFILKW    Ptr to sublist                    @SC87166 03616000
  850.          CLI   SETXI,X'97'   SET or SHOW   **COMPAT**          @SC87166 03617000
  851.          BNE   *+8           SHOW          **COMPAT**          @SC87166 03618000
  852.          LA    4,SETFKW      SET           **COMPAT**          @SC87166 03619000
  853.          BAL   14,SHOGRP                                       @SC86295 03620000
  854. SHOMRG   LA    4,SHOMRGKW    Ptr to sublist                    @SC87253 03621000
  855.          BAL   14,SHOGRP                                       @SC87253 03622000
  856. SHOFOR   LA    4,SHOFORKW    Ptr to sublist                    @SC87166 03623000
  857.          BAL   14,SHOGRP                                       @SC86224 03624000
  858. SHORETR  LA    4,SHORETKW    Ptr to sublist                    @SC87166 03625000
  859.          BAL   14,SHOGRP                                       @SC86345 03626000
  860. SHOTAK   LA    4,SHOTAKKW    Ptr to sublist                    @SC87166 03627000
  861.          BAL   14,SHOGRP                                       @SC86224 03628000
  862. SHORECV  SR    5,5           Index for recv                    @SC86224 03629000
  863.          BAL   14,SHOGRPR                                      @SC86224 03630000
  864. SHOSEND  LA    5,1           Index for send                    @SC86224 03631000
  865.          LA    14,SHOZZW                                       @SC87166 03632000
  866. SHOGRPR  LA    4,SHORECKW    Ptr to common sublist             @SC87166 03633000
  867. SHOGRP   LR    2,14          Save return adr                   @SC87166 03634000
  868.          STM   1,4,SHOTMP    Save top level ptr, return adr    @SC87166 03635000
  869.          TM    SFLG,ALLF     Doing all?                        @SC86295 03637000
  870.          BO    SHORAL2       Yes                               @SC86133 03638000
  871. SETSCN   LR    2,14          Copy return adr (again)           @SC87166 03638500
  872.          NTOKN N=SHORALL                                       @SC86133 03639000
  873.          LR    9,2           ???                               @SC87166 03640000
  874.          SCAN  (4),RTRN1                                       @SC87166 03641000
  875. SHOHLP   HELP  (4),RTRN1                                       @SC87166 03642000
  876. *                                                                       03643000
  877. SETCMDS  CSECT                                                 @SC90040 03643200
  878. SHOTRNKW KW    'CHARACTER-SET',SHOALF                          @SC90040 03643400
  879.          KW    ,                                               @SC90040 03643600
  880. *                                                                       03643800
  881. SHOFILKW KW    'TYPE',SHOFILT                                  @SC86295 03644000
  882.          KW    'LONGLINE',SHOLNG,MIN=2                         @SC88120 03644500
  883.          KW    'COLLISION',SHOCLSN,MIN=2                       @SC90033 03644600
  884.          KW    'OVERWRITE',SHOOVWR                             @SC90033 03644700
  885.          KW    'LRECL',SHOLR                                   @SC86133 03645000
  886.         KFILKW                                                 @SC87166 03646000
  887.          KW    'CHARACTER-SET',SHOFALF                         @SC90040 03646500
  888.          KW    ,                                               @SC87012 03647000
  889. *                                                                       03648000
  890. SHOMRGKW KW    'LEFT',SHOLFT                                   @SC87253 03649000
  891.          KW    'RIGHT',SHORGT                                  @SC87253 03650000
  892.          KW    ,                                               @SC87253 03651000
  893. *                                                                       03652000
  894. SHORECKW KW    'END-OF-LINE',SHOEOL                            @SC86133 03653000
  895.          KW    'END-OF-PACKET',SHOEOL                          @SC86133 03654000
  896.          KW    'EOL',SHOEOL,MIN=3                              @SC86133 03655000
  897. SHOPSKW  KW    'PACKET-SIZE',SHOSIZ                            @SC86133 03656000
  898.          KW    'PAD-CHAR',SHOPADC,MIN=5                        @SC86164 03657000
  899.          KW    'PADDING',SHOPADN,MIN=3                         @SC86164 03658000
  900.          KW    'QUOTE',SHOQUO                                  @SC86133 03659000
  901.          KW    'START-OF-PACKET',SHOMARK                       @SC86133 03660000
  902.          KW    'TIMEOUT',SHOTIMO                               @SC86164 03661000
  903.          KW    'PARITY',SHOPRTY                                @SC88288 03661500
  904.          KW    ,                                               @SC86133 03662000
  905. *                                                                       03663000
  906. SHOTAKKW KW    'ECHO',SHOECO,MIN=3                             @SC86171 03664000
  907.          KW    'ERROR-ACTION',SHOHLT,MIN=3                     @SC86171 03665000
  908.          KW    ,                                               @SC86171 03666000
  909. *                                                                       03667000
  910. SHOFORKW KW    'PREFIX',SHOPFX                                 @HF86223 03668000
  911.          KW    'SUFFIX',SHOSFX                                 @HF86223 03669000
  912.          KW    ,                                               @HF86223 03670000
  913. *                                                                       03671000
  914. SHORETKW KW    'INITIAL',SHORETI                               @SC86345 03672000
  915.          KW    'PACKETS',SHORETN                               @SC86345 03673000
  916.          KW    ,                                               @SC86345 03674000
  917. SET      CSECT                                                 @SC90040 03674500
  918. *                                                                       03675000
  919. SHORALL  OI    SFLG,ALLF+ASRF Do just all send/recv items      @SC86295 03676000
  920.          LA    14,SHOHLP     Just help if SET                  @SC87166 03677000
  921. SHORAL2  BAL   2,SHOKW       Get ptr to kw send or receive     @SC86133 03678000
  922.          BER   14            Help for SET                      @SC87166 03679000
  923.          L     15,SHOPTR     Output line buffer ptr            @SC86227 03680000
  924.          LA    1,CMD                                           @SC86227 03681000
  925.          SR    15,1          Anything there?                   @SC86227 03682000
  926.          BNP   SHORAL3       No                                @SC86227 03683000
  927.          ST    1,SHOPTR      Yes, reset ptr                    @SC86227 03684000
  928.          WTEXT (1),(15)      And write it out                  @SC86227 03685000
  929. SHORAL3  DS    0H                                              @SC86227 03686000
  930.          MVC   CMD(2),=C'  '                                   @SC86133 03687000
  931.          MVC   CMD+2(15),0(6) Copy send or receive or ...      @SC89226 03688000
  932.          LA    0,CMD+2(7)    Point past category               @SC86316 03689000
  933.          ST    0,SHOPTR      Save output ptr                   @SC86316 03690000
  934.          L     1,SHOTMP+12   Start at beginning                @SC87166 03691000
  935.          ICM   14,7,1(1)     Ptr to 1st routine                @SC88168 03692000
  936.          BR    14                                              @SC86171 03693000
  937. *                                                                       03694000
  938. SHOALF   LA    4,SETALFKW    NOTE: this must be last parm      @SC90040 03694200
  939.          LA    8,TRNALF      Ptr to transfer character name    @SC90040 03694400
  940.          B     SHOALFC       Processing same as file char set  @SC90040 03694600
  941. *                                                                       03694800
  942. SETFT    ICM   15,15,LEN     SET F T ...   **COMPAT**          @SC87166 03695000
  943.          BNP   SETFILET      Nothing after: 'SET FILE-TYPE T'  @SC87166 03696000
  944. *                                                                       03697000
  945. SHOFILT  LA    4,SETFIL      List of possibles                 @SC86151 03698000
  946.          LA    6,TYPFIL                                        @SC87166 03699000
  947.          BAL   14,SHOBRV     Get full name from abbrev.        @SC87166 03700000
  948.           NOP  0                                               @SC87166 03701000
  949. SHOLNG   LA    4,SETLNGKW    List of possibles                 @SC88120 03701200
  950.          LA    6,TRNCFL                                        @SC88120 03701400
  951.          BAL   14,SHOBRV     Get full name from abbrev.        @SC88120 03701600
  952.           NOP  0                                               @SC88120 03701800
  953. SHOCLSN  LA    4,SETCLSKW    List of COLLISION options         @SC90033 03701820
  954.          LA    6,CLSNFL                                        @SC90033 03701840
  955.          BAL   14,SHOBRV                                       @SC90033 03701860
  956.           NOP  0                                               @SC90033 03701880
  957. SHOOVWR  LA    4,SETOVWKW    List of possibles                 @SC90033 03701900
  958.          BAL   14,SHOXY                                        @SC90033 03701920
  959.           OI   FL3,SVATT                                       @SC90033 03701940
  960. SHOLR    SR    4,4                                             @SC86133 03702000
  961.          L     8,MAXLRC      Upper limit                       @SC87166 03703000
  962.          ICM   4,3,FILLRC                                      @SC88120 03704000
  963.          BAL   14,SHONUM     Print it                          @SC86133 03705000
  964.           B    SETLR                                           @SC87166 03706000
  965.          KFILSHO ,                                             @SC87012 03707000
  966. SHOFALF  LA    4,SETFALFK    NOTE: this must be last parm      @SC90040 03707100
  967.          LA    8,FILALF      Ptr to file character name        @SC90040 03707200
  968. SHOALFC  LA    9,L'TRNALF                                      @SC90040 03707300
  969.          BAL   14,SHOCHRN    Get name                          @SC90040 03707400
  970.           B    SETSCN                                          @SC90040 03707500
  971.          B     SHOGRPZ                                         @SC86295 03708000
  972. *                                                                       03709000
  973. SHOLFT   L     4,LMARG                                         @SC87253 03710000
  974.          BAL   14,SHONBIG    Print it                          @SC87253 03711000
  975.           B    RTRN0                                           @SC87253 03712000
  976. SHORGT   L     4,RMARG                                         @SC87253 03713000
  977.          BAL   14,SHONBIG    Print it                          @SC87253 03714000
  978.           B    RTRN0                                           @SC87253 03715000
  979.          B     SHOGRPZ                                         @SC87253 03716000
  980. *                                                                       03717000
  981. SHOWARN  BAL   14,SHOOO      On or off   ***COMPAT***          @SC90033 03717100
  982.           OI   FL1,REN                                         @SC90033 03717200
  983. SHOAPP   BAL   14,SHOOO      On or off   ***COMPAT***          @SC90033 03717300
  984.           OI   FL3,APPN                                        @SC90033 03717400
  985. *                                                                       03717500
  986. SHOECO   BAL   14,SHOOO      On or off                         @SC86171 03718000
  987.           OI   FL2,ECHO                                        @SC87166 03719000
  988. SHOHLT   LA    4,SETSWT      List of possibles                 @SC87166 03720000
  989.          BAL   14,SHOXY                                        @SC86171 03721000
  990.           OI   FL5,TKHLT                                       @SC87166 03722000
  991.          B     SHOGRPZ                                         @SC86171 03723000
  992. *                                                                       03724000
  993. SHOPFX   LA    8,PREFIX      Point to prefix                   @HF86223 03725000
  994.          LA    4,FORMAXL     Max length                        @SC87268 03726000
  995.          BAL   14,SHOSTR     Print message                     @SC86224 03727000
  996.           B    RTRN0                                           @SC87268 03728000
  997. SHOSFX   LA    8,SUFFIX      Point to suffix                   @HF86223 03729000
  998.          LA    4,FORMAXL     Max length                        @SC87268 03730000
  999.          BAL   14,SHOSTR     Print message                     @SC86224 03731000
  1000.           B    RTRN0                                           @SC87268 03732000
  1001.          B     SHOGRPZ                                         @HF86223 03733000
  1002. *                                                                       03734000
  1003. SHORETI  L     4,MAXTNT      Initial retry limit               @SC86345 03735000
  1004.          BAL   14,SHONBIG    Print it                          @SC87166 03736000
  1005.           B    RTRN0                                           @SC87166 03737000
  1006. SHORETN  L     4,MAXTRY      Normal retry limit                @SC86345 03738000
  1007.          BAL   14,SHONBIG    Print it                          @SC87166 03739000
  1008.           B    RTRN0                                           @SC87166 03740000
  1009.          B     SHOGRPZ                                         @SC86345 03741000
  1010. *                                                                       03742000
  1011. SHOEOL   SR    4,4                                             @SC86133 03743000
  1012.          IC    4,REOL(5)                                       @SC86133 03744000
  1013.          BAL   14,SHOCTL     Print it                          @SC87166 03745000
  1014.           B    SETEOL                                          @SC87166 03746000
  1015.          LA    1,SHOPSKW     Skip aliases                      @SC86133 03747000
  1016. SHOSIZ   L     8,=A(KMAXE)   Limit                             @SC87166 03748000
  1017.          LR    3,5                                             @SC87166 03749000
  1018.          SLA   3,2           Get fullword index                @SC87166 03750000
  1019.          L     4,RPSIZ(3)                                      @SC87166 03751000
  1020.          BAL   14,SHONUM     Print number                      @SC86133 03752000
  1021.           B    SETSIZ                                          @SC87166 03753000
  1022. SHOPADC  SR    4,4                                             @SC86164 03754000
  1023.          IC    4,RPADC(5)    Pad character                     @SC86164 03755000
  1024.          BAL   14,SHOCTL                                       @SC87166 03756000
  1025.           B    SETPADC                                         @SC87166 03757000
  1026. SHOPADN  SR    4,4                                             @SC86164 03758000
  1027.          LA    8,KMAX        Same upper limit as packets       @SC87166 03759000
  1028.          IC    4,RPADN(5)    Pad count                         @SC86164 03760000
  1029.          BAL   14,SHONUM                                       @SC86164 03761000
  1030.           B    SETPADN                                         @SC87166 03762000
  1031. SHOQUO   LA    8,RCTLQ(5)                                      @SC86133 03763000
  1032.          BAL   14,SHOCHRA    Print as ascii                    @SC86133 03764000
  1033.           B    SETRCTLQ                                        @SC87166 03765000
  1034. SHOMARK  SR    4,4                                             @SC86133 03766000
  1035.          IC    4,RMARK(5)                                      @SC86133 03767000
  1036.          BAL   14,SHOCTL                                       @SC87166 03768000
  1037.           B    RTRN0                                           @SC87166 03769000
  1038. SHOTIMO  SR    4,4                                             @SC86164 03770000
  1039.          IC    4,RTIMO(5)    Timeout limit                     @SC86164 03771000
  1040.          BAL   14,SHONBIG                                      @SC87166 03772000
  1041.           B    SETTIMO                                         @SC87166 03773000
  1042. SHOPRTY  LA    4,SETPAR                                        @SC88288 03773200
  1043.          LA    3,RPRTY(5)    Ptr to proper flag                @SC88288 03773400
  1044.          BAL   14,SHOXY                                        @SC88288 03773600
  1045.           OI   0(3),DAT8                                       @SC88288 03773800
  1046. *                                                                       03774000
  1047. SHOGRPZ  TM    SFLG,ASRF     Doing just receive/send?          @SC86295 03775000
  1048.          BO    SHOZZW        Yes, write last line              @SC86227 03776000
  1049.          LM    1,2,SHOTMP    Get top level ptr, return adr     @SC87166 03777000
  1050.          LR    14,2                                            @SC86224 03778000
  1051.          BAL   2,SHOKW       Get ptr to name                   @SC86133 03779000
  1052.          LA    1,0(7,6)      Advance to next                   @SC86133 03780000
  1053.          BR    14                                              @SC86224 03781000
  1054. *                                                                       03782000
  1055. SHOMULT  LR    5,1           Save ptr to current option        @SC88168 03782050
  1056.          LR    1,6           Use ptr to list of suboptions     @SC88168 03782100
  1057. SHOMULQ  ICM   14,7,1(1)     Get ptr to handler (assume OI x,y)@SC88168 03782150
  1058.          BAL   2,SHOKW       Get ptrs to KW string, fix SETXI  @SC88168 03782200
  1059.          EX    0,SETXI       TM x,y                            @SC88168 03782250
  1060.          BNO   SHOMULP       Not this one                      @SC88168 03782300
  1061.          MVI   0(15),C','    Yes, punctuate display            @SC88168 03782350
  1062.          LA    15,1(15)                                        @SC88168 03782400
  1063.          LR    8,6                                             @SC88168 03782450
  1064.          LR    9,7                                             @SC88168 03782500
  1065.          BAL   2,EDCHAR      Copy this KW to display           @SC88168 03782550
  1066. SHOMULP  LA    1,0(7,6)      On to next in list                @SC88168 03782600
  1067.          CLI   0(1),254      End of list?                      @SC88168 03782650
  1068.          BL    SHOMULQ       No, keep checking                 @SC88168 03782700
  1069.          LR    14,4          Proper place for return adr       @SC88168 03782750
  1070.          LR    1,5           Restore ptr to current option     @SC88168 03782800
  1071.          B     SHOZZZ        End of item                       @SC88168 03782850
  1072. *                                                                       03782900
  1073. SHOLIST  LTR   5,5           Length of list                    @SC86355 03783000
  1074.          BZ    SHOZZ         Empty, we're done                 @SC86355 03784000
  1075.          LA    0,CMD+75      Set right margin                  @SC86355 03785000
  1076.          MVI   0(15),C' '    Start with blank                  @SC86355 03786000
  1077.          B     *+8                                             @SC86355 03787000
  1078. SHOLSLP  MVI   0(15),C','    Insert delimiter                  @SC86355 03788000
  1079.          LA    15,1(15)                                        @SC86355 03789000
  1080.          CR    15,0          Any room?                         @SC86355 03790000
  1081.          BL    SHOLSED       Yes, ok                           @SC86355 03791000
  1082.          LA    1,CMD         No, dump line                     @SC86355 03792000
  1083.          SR    15,1                                            @SC86355 03793000
  1084.          WTEXT (1),(15)                                        @SC86355 03794000
  1085.          MVI   CMD,C' '                                        @SC86355 03795000
  1086.          LA    15,CMD+1      Start indented                    @SC86355 03796000
  1087.          LA    0,CMD+75                                        @SC86355 03797000
  1088. SHOLSED  SR    4,4                                             @SC86355 03798000
  1089.          IC    4,0(3)        Get 1-byte item                   @SC86355 03799000
  1090.          BAL   2,EDDEC       Format it                         @SC86355 03800000
  1091.          LA    3,1(3)        Point to next item in list        @SC86355 03801000
  1092.          BCT   5,SHOLSLP                                       @SC86355 03802000
  1093.          B     SHOZZ         Finished list                     @SC86355 03803000
  1094. *                                                                       03804000
  1095. SHOKW    MVC   SETXI+1(3),1(14) Copy instr operands            @SC87166 03805000
  1096.          CLI   SETXI,X'97'   'OI' if SET, but 'TM' if SHOW     @SC87166 03806000
  1097.          LA    6,5(1)        Ptr to name                       @SC86133 03807000
  1098.          LA    7,0           Preserve CC                       @SC86133 03808000
  1099.          IC    7,0(1)        Length (assumes high bytes clear) @SC88168 03809000
  1100.          LA    7,1(7)                                          @SC86133 03810000
  1101.          BR    2                                               @SC86133 03811000
  1102. *                                                                       03812000
  1103. SHOCTL   LA    8,ABL-1       Max control character (ASCII)     @SC87166 03813000
  1104.          TM    FL1,TSTF                                        @SC86295 03814000
  1105.          BZ    SHONUM                                          @SC87166 03815000
  1106. SHONBIG  L     8,=F'999999998' Almost anything                 @SC87166 03816000
  1107. SHONUM   BAL   2,SHOKW                                         @SC86133 03817000
  1108.          BE    SETNUM2       Get value for SET                 @SC87166 03818000
  1109.          BAL   2,SHONAM      Copy option name                  @SC86209 03819000
  1110.          BAL   2,EDDEC       Edit (R4) as decimal              @SC86295 03820000
  1111.          B     SHOZZ                                           @SC86133 03821000
  1112. *                                                                       03822000
  1113. SHOCHRA  MVC   TMP,0(8)      Copy ascii char                   @SC86133 03823000
  1114.          PTEXT SETOOKW+5,3,AREG=8,LREG=9                       @SC88168 03824000
  1115.          TM    TMP,X'60'     Is it printable?                  @SC87008 03825000
  1116.          BZ    SHOCHRN       No, say it's OFF                  @SC87008 03826000
  1117.          TR    TMP,ATOED     Convert to EBCDIC                 @SC89301 03827000
  1118.          LA    8,TMP                                           @SC86133 03828000
  1119.          B     SHOCHR                                          @SC86224 03829000
  1120. SHOSTR   BAL   2,SHOKW       Get ptrs to name                  @SC87268 03830000
  1121.          BE    SETSTR        Branch to dispatch for SET        @SC87268 03831000
  1122.          SR    9,9           Variable-length string            @SC86224 03832000
  1123.          IC    9,0(8)        Get length                        @SC86224 03833000
  1124.          LA    8,1(8)        Ptr to text                       @SC86224 03834000
  1125.          B     SHOCHRD                                         @SC87268 03835000
  1126. SHOCHR   LA    9,1           Length is 1                       @SC86224 03836000
  1127. SHOCHRN  BAL   2,SHOKW       Get ptrs to name                  @SC86224 03837000
  1128.          BER   14            Branch to dispatch for SET        @SC87166 03838000
  1129. SHOCHRD  BAL   2,SHONAM      Copy option name                  @SC87268 03839000
  1130.          BAL   2,EDCHAR      Append string at (R8)             @SC87034 03840000
  1131.          B     SHOZZ         Print message                     @SC87034 03841000
  1132. *                                                                       03842000
  1133. SHOBRV   CLI   SETXI,X'97'   SET or SHOW?                      @SC87166 03843000
  1134.          BE    SETSCN                                          @SC87166 03844000
  1135.          LR    9,14          Save return adr                   @SC87166 03845000
  1136.          LR    8,1           Save list ptr                     @SC87166 03846000
  1137.          LR    1,4           Use list of suboptions            @SC87166 03847000
  1138.          SR    7,7           Assume 1-char abbrev              @SC87166 03848000
  1139.          ICM   7,8,*         Indicate just search              @SC87166 03849000
  1140.          BAL   14,SCAN                                         @SC87166 03850000
  1141.           CR   0,0           These two skipped                 @SC87166 03851000
  1142.           LR   4,1            if bad value                     @SC87166 03852000
  1143.          LR    1,8           Retrieve ptrs                     @SC87166 03853000
  1144.          LR    14,9                                            @SC87166 03854000
  1145.          B     SHOXY         Display it                        @SC87166 03855000
  1146. *                                                                       03856000
  1147. SHOOO    LA    4,SETOOKW     Ptr to on/off                     @SC87166 03857000
  1148. SHOXY    BAL   2,SHOKW       Set up name                       @SC86133 03858000
  1149.          BE    SETSCN        Parse value for SET               @SC87166 03859000
  1150.          LA    8,5(4)        Value if off                      @SC86133 03860000
  1151.          SR    9,9                                             @SC87166 03861000
  1152.          IC    9,0(4)        Length of name                    @SC88168 03862000
  1153.          EX    0,SETXI       Test bit                          @SC87166 03863000
  1154.          BZ    *+12                                            @SC86133 03864000
  1155.           LA   8,6(9,8)      Flag is on, advance               @SC86133 03865000
  1156.           IC   9,6(9,4)                                        @SC88168 03866000
  1157.          LA    9,1(9)                                          @SC86133 03867000
  1158. SHOXL    BAL   2,SHONAM      Copy option name                  @SC86209 03868000
  1159.          BAL   2,EDCHAR      Append string at (R8)             @SC86295 03869000
  1160.          SR    15,9          Back up to string                 @SC87034 03870000
  1161.          TR    0(30,15),LOCASE And make it lower case          @SC87034 03871000
  1162.          AR    15,9          Resume                            @SC87034 03872000
  1163. SHOZZ    LA    1,0(7,6)      Advance to next option            @SC88168 03873000
  1164. SHOZZZ   ST    15,SHOPTR     Save end of display buffer        @SC88168 03874000
  1165.          L     3,=A(SETCMDS) Recover base reg.                 @SC90040 03874500
  1166.          LA    14,4(14)      Skip over SET branch              @SC87166 03875000
  1167.          CLM   14,7,=AL3(SHOTABSZ)                             @SC86355 03876000
  1168.          BER   14            Special treatment for tabs        @SC86355 03877000
  1169.          CLM   14,7,=AL3(SHODEBZ)                              @SC88168 03877300
  1170.          BER   14            Special treatment for DEBUG, too  @SC88168 03877600
  1171.          TM    SFLG,ALLF     Doing all?                        @SC86295 03878000
  1172.          BOR   14            And resume if yes                 @SC86227 03879000
  1173. SHOZZW   LA    1,CMD         No, get address of buffer         @SC86227 03880000
  1174.          SR    15,1          Get length                        @SC86227 03881000
  1175.          WTEXT (1),(15)      Write it out                      @SC86227 03882000
  1176.          B     RTRN0         That's all                        @SC86295 03883000
  1177. *                                                                       03884000
  1178. SHONAM   LA    15,CMD        Output message buffer             @SC86209 03885000
  1179.          L     0,SHOPTR      End of prev. msg                  @SC86227 03886000
  1180.          CR    0,15          Empty?                            @SC86227 03887000
  1181.          BE    SHON1         Yes, start here                   @SC86227 03888000
  1182.          LA    1,CMD+23      2nd column                        @SC86227 03889000
  1183.          SR    1,0           Far enough?                       @SC86227 03890000
  1184.          BP    SHONF         Yes, blank fill                   @SC86227 03891000
  1185.          AH    1,=H'23'      Try 3rd column                    @SC86227 03892000
  1186.          BP    SHONF         OK                                @SC86227 03893000
  1187.          SR    0,15          No room, dump line                @SC86227 03894000
  1188.          WTEXT (15),(0)                                        @SC86227 03895000
  1189.          LA    15,CMD        And start over                    @SC86227 03896000
  1190.          B     SHON1                                           @SC86227 03897000
  1191. SHONF    SR    15,15                                           @SC86295 03898000
  1192.          ICM   15,8,BLANK                                      @SC86295 03899000
  1193.          MVCL  0,14          Fill with blanks to next column   @SC86227 03900000
  1194.          LR    15,0          New output ptr                    @SC86227 03901000
  1195. SHON1    MVC   0(40,15),0(6) Copy option name                  @SC87034 03902000
  1196.          TR    1(39,15),LOCASE And beautify it                 @SC87034 03903000
  1197.          AR    15,7          Space over it                     @SC86209 03904000
  1198.          MVC   0(4,15),=C' is '                                @SC87034 03905000
  1199.          LA    15,4(15)      Space over 'is'                   @SC86209 03906000
  1200.          BR    2                                               @SC86209 03907000
  1201.          DROP  3                                               @SC90040 03907500
  1202. *                                                                       03908000
  1203.          LOCALS ,                                              @SC86295 03909000
  1204. SHOTMP   DS    4F                                              @SC87166 03910000
  1205. SHOPTR   DS    A             More temporaries                  @SC86227 03911000
  1206. SETXI    DS    F             XI executable instr               @SC86273 03912000
  1207. SFLG     DS    X             Local flags                       @SC86295 03913000
  1208. ALLF     EQU   X'80'         Doing SHOW ALL                    @SC86295 03914000
  1209. ASRF     EQU   X'40'         Doing SHOW REC or SHOW SEND       @SC86295 03915000
  1210. SHODBG   DS    X             Temp for DEBUG flags              @SC88168 03915500
  1211. SHOW     EXIT                                                           03916000
  1212.          TITLE 'STATUS Routine - display latest error, etc.'   @SC86295 03917000
  1213. * Exit: R15=0.  ERRNUM unchanged.                                       03918000
  1214. STATUS   ENTER                                                 @SC86156 03919000
  1215.          CLI   ERRNUM,ERRNFT Actual error?                     @BS86090 03920000
  1216.          BNH   STAMSG        No                                @BS86090 03921000
  1217.          CLI   ERRNUM,ERRKCE Last command invalid?             @SC86295 03922000
  1218.          BE    STAMSG        Yes, do not show last file        @HF86232 03923000
  1219.          CLI   FILNAM,0      File name defined?                @BS86090 03924000
  1220.          BE    STAMSG        No                                @BS86090 03925000
  1221.          MVC   CMD(16),=CL16'Last file used:'                  @BS86090 03926000
  1222.          LA    7,CMD+16      Fill in name                      @BS86090 03927000
  1223.          LA    1,FILNAM                                        @SC86295 03928000
  1224.          BAL   2,STAFSP      Copy name and print               @SC86295 03929000
  1225. STAMSG   ICM   4,15,NSENT    Number of files sent              @SC86295 03930000
  1226.          BZ    STASNTZ                                         @SC86295 03931000
  1227.          LA    15,CMD        Start of message buffer           @SC86295 03932000
  1228.          BAL   2,EDDEC       Format number as decimal          @SC86295 03933000
  1229.          LA    0,17(15)      Tentative end of message          @SC86295 03934000
  1230.          MVC   0(17,15),=C' files sent last.'                  @SC86295 03935000
  1231.          BCT   4,STAPLR                                        @SC86295 03936000
  1232.          MVC   5(11,15),6(15) Only one file, make singular     @SC86295 03937000
  1233.          BCTR  0,0                                             @SC86295 03938000
  1234. STAPLR   BAL   2,STAPMSG     Show message                      @SC86295 03939000
  1235. STASNTZ  ICM   0,15,PAKCNT   Any transfer statistics?          @SC86295 03940000
  1236.          BZ    STADATR       No, skip it                       @SC86316 03941000
  1237.          ICM   6,7,=C'pkt'                                     @SC86295 03942000
  1238.          BAL   3,STADPR      Format msg                        @SC86295 03943000
  1239.          ICM   0,15,SECTOT   Any duration?                     @SC86295 03944000
  1240.          BZ    STADATR       No, must have been very short     @SC86316 03945000
  1241.          ICM   6,7,=C'sec'                                     @SC86295 03946000
  1242.          BAL   3,STADPR      Format msg                        @SC86295 03947000
  1243.          MVC   CMD(16),=C'Disk bytes/sec: '                    @SC86295 03948000
  1244.          LA    15,CMD+16                                       @SC86295 03949000
  1245.          L     0,SECTOT                                        @SC86295 03950000
  1246.          LM    4,5,DSKTOT                                      @SC86295 03951000
  1247.          BAL   2,STAVB       Format ratio                      @SC86295 03952000
  1248.          BAL   2,STAPM15     Print line                        @SC86295 03953000
  1249. STADATR  ICM   4,15,RTRCNT   Any retries?                      @SC86316 03954000
  1250.          BZ    STADATZ       No                                @SC86316 03955000
  1251.          LA    15,CMD        Yes, issue message                @SC86316 03956000
  1252.          BAL   2,EDDEC                                         @SC86316 03957000
  1253.          MVC   0(20,15),=C' repeat packets sent'               @SC86316 03958000
  1254.          LA    15,20(15)                                       @SC86316 03959000
  1255.          BAL   2,STAPM15     Print line                        @SC86316 03960000
  1256.          XC    TINSV(48),TINSV Completely clear data           @SC88325 03961000
  1257.          KCALL OPTPKT        Get best packet size              @SC88325 03962000
  1258.          LTR   4,15          Valid?                            @SC86345 03963000
  1259.          BNP   STADATZ       No, skip it                       @SC86345 03964000
  1260.          MVC   CMD(21),=C'Optimum packet size: '               @SC88120 03965000
  1261.          LA    15,CMD+21                                       @SC88120 03966000
  1262.          BAL   2,EDDEC       Format it                         @SC86345 03967000
  1263.          BAL   2,STAPM15                                       @SC86345 03968000
  1264. STADATZ  ICM   4,15,RECTRC   Any truncated records?            @SC87268 03969000
  1265.          BZ    STATRCZ       No, ok                            @SC87268 03970000
  1266.          LA    15,CMD        Yes, issue message                @SC87268 03971000
  1267.          BAL   2,EDDEC                                         @SC87268 03972000
  1268.          MVC   0(18,15),=C' records truncated'                 @SC87268 03973000
  1269.          LA    15,18(15)                                       @SC87268 03974000
  1270.          BAL   2,STAPM15                                       @SC87268 03975000
  1271. STATRCZ  DS    0H                                              @SC87268 03976000
  1272.          ICM   4,15,RECFLD   Any folded records?               @SC88120 03976100
  1273.          BZ    STATFDZ       No, ok                            @SC88120 03976200
  1274.          LA    15,CMD        Yes, issue message                @SC88120 03976300
  1275.          BAL   2,EDDEC                                         @SC88120 03976400
  1276.          MVC   0(15,15),=C' records folded'                    @SC88120 03976500
  1277.          LA    15,15(15)                                       @SC88120 03976600
  1278.          BAL   2,STAPM15                                       @SC88120 03976700
  1279. STATFDZ  DS    0H                                              @SC88120 03976800
  1280.          SR    5,5                                             @SC86156 03977000
  1281.          IC    5,ERRNUM      Get offset into error table       @SC86156 03978000
  1282.          SLL   5,2           Get fullword index                @SC86156 03979000
  1283.          A     5,=A(ERRTAB)  Pointer address                   @SC89215 03980000
  1284.          L     1,0(5)        Msg ptr                           @SC86156 03981000
  1285.          SR    0,0                                             @SC86268 03982000
  1286.          SLDL  0,8           Msg length                        @SC86316 03983000
  1287.          SRL   1,8           Realign adr                       @SC86316 03984000
  1288.          WTEXT (1),(0)       Print message                     @SC86268 03985000
  1289.          CLI   ERRNUM,ERRTRC Cancelled?                        @SC86316 03986000
  1290.          BNE   STACKAB       No                                @SC86316 03987000
  1291.          SR    1,1                                             @SC86316 03988000
  1292.          CLI   REASON,STACNN Within table?                     @SC90033 03989000
  1293.          BH    *+8           No, must be new                   @SC86316 03990000
  1294.          IC    1,REASON      Ok, get the complaint code        @SC86316 03991000
  1295.          SLL   1,3           Index into table                  @SC86316 03992000
  1296.          LA    1,STACNTB(1)                                    @SC86316 03993000
  1297.          LA    0,8           Length of items                   @SC86316 03994000
  1298.          WTEXT (1),(0)                                         @SC86316 03995000
  1299. STACKAB  CLI   ERRNUM,ERRABO Micro aborted?                    @BS86090 03996000
  1300.          BE    *+12          Yes                               @SC87338 03997000
  1301.          CLI   ERRNUM,ERRDIE No, disk I/O error?               @SC87338 03998000
  1302.          BNE   STARET        No                                @BS86090 03999000
  1303.          ICM   0,15,EMSGL    Yes, any message?                 @SC86268 04000000
  1304.          BZ    STARET        No                                @BS86090 04001000
  1305.          L     1,EMSGP                                         @BS86090 04002000
  1306.          WTEXT (1),(0)       Yes, show it                      @SC86268 04003000
  1307. STARET   TM    FL1,TSTF                                        @SC89089 04004000
  1308.          BZ    RTRN0         Skip this message unless testing  @SC89089 04004070
  1309.          LM    3,4,STKLO     Get start and end of stack use    @SC89089 04004140
  1310.          SR    4,3           Get length (is mult. of 8)        @SC89089 04004210
  1311.          SRL   4,3           Convert to doublewords            @SC89089 04004280
  1312.          LA    15,CMD        Sart of msg buffer                @SC89089 04004350
  1313.          BAL   2,EDDEC       Format number                     @SC89089 04004420
  1314.          MVC   0(22,15),=C' dwords of stack used.'             @SC89089 04004490
  1315.          LA    0,22(,15)     Point to end of msg               @SC89089 04004560
  1316.          BAL   2,STAPMSG                                       @SC89089 04004630
  1317.          B     RTRN0                                           @SC89089 04004700
  1318. *                                                                       04005000
  1319. STADPR   MVC   CMD(13),=C'Bytes/pkt: S='                       @SC86295 04006000
  1320.          LA    15,CMD+13                                       @SC86295 04007000
  1321.          STCM  6,7,CMD+6                                       @SC86295 04008000
  1322.          LM    4,5,TOUTOT                                      @SC86295 04009000
  1323.          BAL   2,STAVB       Format ratio                      @SC86295 04010000
  1324.          MVC   0(3,15),=C' R='                                 @SC86295 04011000
  1325.          LA    15,3(15)                                        @SC86295 04012000
  1326.          LM    4,5,TINTOT                                      @SC86295 04013000
  1327.          BAL   2,STAVB       Format ratio                      @SC86295 04014000
  1328.          MVC   0(11,15),=C' requiring '                        @SC86295 04015000
  1329.          LA    15,11(15)                                       @SC86295 04016000
  1330.          LR    4,0                                             @SC86295 04017000
  1331.          BAL   2,EDDEC       Format number of units            @SC86295 04018000
  1332.          MVI   0(15),C' '                                      @SC86295 04019000
  1333.          STCM  6,7,1(15)                                       @SC86295 04020000
  1334.          LA    0,4(15)       End of msg                        @SC86295 04021000
  1335.          BAL   2,STAPMSG     Print it                          @SC86295 04022000
  1336.          BR    3                                               @SC86295 04023000
  1337. *                                                                       04024000
  1338. STAVB    DR    4,0           Get ratio                         @SC86295 04025000
  1339.          AR    4,4                                             @SC86295 04026000
  1340.          CR    4,0                                             @SC86295 04027000
  1341.          BL    *+8                                             @SC86295 04028000
  1342.          A     5,F1          Round up                          @SC86295 04029000
  1343.          LR    4,5                                             @SC86295 04030000
  1344.          B     EDDEC         Format it                         @SC86295 04031000
  1345. *                                                                       04032000
  1346. * Table of reasons for rejecting Attribute packet              @SC86316 04033000
  1347. STACNTB  DC    C'-Unknown-Length -Type   -Date   '             @SC86316 04034000
  1348.          DC    C'-Creator-Account-Area   -Passwrd'             @SC86316 04035000
  1349.          DC    C'-Blksize-Access -Encodng-Disp   '             @SC90033 04036000
  1350.          DC    C'-Protect-Protect-Origin -Format '             @SC86316 04037000
  1351.          DC    C'-Sysinfo-Bytes  '                             @SC90033 04037200
  1352. STACNCLS EQU   (*-STACNTB)/8 One extra reason stuck on the end @SC90033 04037400
  1353.          DC    C'-Collisn'                                     @SC90033 04037600
  1354. STACNN   EQU   (*-STACNTB)/8-1                                 @SC90033 04037800
  1355.          TITLE 'DUMP Routine - print translation table'                 04038000
  1356. * Display current values in STORAG.                                     04039000
  1357. * Entry: SCANPTR string has option                                      04040000
  1358. * Exit: R15=0 if ok, R15=1 if error or help needed. ERRNUM unchanged.   04041000
  1359. DUMP     ENTER ALT                                             @SC86156 04042000
  1360.          NTOKN N=DUMPH       A or E?                           @SC86156 04043000
  1361.          SCAN  DUMPKW,RTRN1                                    @SC86295 04044000
  1362. DUMPH    HELP  DUMPKW,RTRN1                                    @SC86295 04045000
  1363. *                                                                       04046000
  1364. DUMPKW   KW    'ATOE',DUMPA                                    @SC86156 04047000
  1365.          KW    'ETOA',DUMPE                                    @SC86156 04048000
  1366.          KW    'NAMES',DMPN                                    @SC86295 04049000
  1367.          KW    'TATOE',DUMPTA,MIN=2                            @SC87117 04050000
  1368.          KW    'TETOA',DUMPTE,MIN=2                            @SC87117 04051000
  1369.          KW    ,                                               @SC86156 04052000
  1370. *                                                                       04053000
  1371. DMPN     L     5,TSENT       Table ptr                         @SC86295 04054000
  1372.          ICM   6,15,NSENT    Number of files sent              @SC86295 04055000
  1373.          BNZ   DMPNL                                           @SC86295 04056000
  1374.          WTEXT 'No files sent'                                 @SC86295 04057000
  1375.          B     RTRN0                                           @SC86295 04058000
  1376. DMPNL    LA    7,CMD         Start of message buffer           @SC86295 04059000
  1377.          LA    0,FFDSP                                         @SC88092 04060000
  1378.          KCALL FSPEC,(5)     Copy name for display             @SC88092 04060100
  1379.          MVC   0(2,15),=C' ('                                  @SC88092 04060200
  1380.          LA    15,2(15)                                        @SC88092 04060300
  1381.          ICM   4,15,LFID(5)  Get file size                     @SC88092 04060400
  1382.          BAL   2,EDDEC       Format into message               @SC88092 04060500
  1383.          MVC   0(2,15),=C'k)'                                  @SC88092 04060600
  1384.          LA    15,2(15)                                        @SC88092 04060700
  1385.          SR    2,2                                             @SC88092 04060800
  1386.          ICM   2,1,LFID+4(5) Get corresponding error code      @SC88092 04060900
  1387.          BZ    DMPNN         No error, that's fine             @SC88092 04061000
  1388.          SLL   2,2                                             @SC88092 04061100
  1389.          A     2,=A(ERRTAB)  Get ptr into error table          @SC89215 04061200
  1390.          SR    3,3                                             @SC88092 04061300
  1391.          IC    3,0(2)        Length of message                 @SC88092 04061400
  1392.          L     2,0(2)        And message ptr                   @SC88092 04061500
  1393.          MVC   0(4,15),=C' -- '                                @SC88092 04061600
  1394.          MVC   4(50,15),0(2) Copy message                      @SC88092 04061700
  1395.          LA    15,4(3,15)                                      @SC88092 04061800
  1396. DMPNN    BAL   2,STAPM15     Display name (+ error)            @SC88092 04061900
  1397.          A     5,FLFID1      Next filespec                     @SC88092 04062000
  1398.          BCT   6,DMPNL                                         @SC86295 04063000
  1399.          B     RTRN0                                           @SC86295 04064000
  1400. *                                                                       04065000
  1401. DUMPA    LA    3,ATOE                                          @SC86156 04066000
  1402.          B     DUMPAE                                          @SC86156 04067000
  1403. DUMPE    LA    3,ETOA                                          @SC86156 04068000
  1404.          B     DUMPAE                                          @SC87117 04069000
  1405. DUMPTA   LA    3,TATOE                                         @SC87117 04070000
  1406.          B     DUMPAE                                          @SC87117 04071000
  1407. DUMPTE   LA    3,TETOA                                         @SC87117 04072000
  1408. DUMPAE   LA    4,4           Bytes per word                    @SC86156 04073000
  1409.          LA    5,15(3)       End of 1st line                   @SC86156 04074000
  1410.          LA    6,16          Bytes per line                    @SC86156 04075000
  1411.          LA    7,256(3)      2 before end of table             @SC86156 04076000
  1412. DUMPLL   LA    2,CMD         Output buffer                     @SC86156 04077000
  1413. DUMPLW   UNPK  0(9,2),0(5,3) Convert a word                    @SC86156 04078000
  1414.          TR    0(8,2),TRHEX  Hex notation                      @SC86156 04079000
  1415.          MVI   8(2),C' '     Leave a space between words       @SC86156 04080000
  1416.          LA    2,9(2)                                          @SC86156 04081000
  1417.          BXLE  3,4,DUMPLW    Do next word                      @SC86156 04082000
  1418.          LA    1,CMD         Done line of 4                    @SC86156 04083000
  1419.          LA    0,35                                            @SC86268 04084000
  1420.          WTEXT (1),(0)       Print it                          @SC86268 04085000
  1421.          BXLE  5,6,DUMPLL    Done line, go to next             @SC86156 04086000
  1422.          B     RTRN0                                                    04087000
  1423.          TITLE 'GIVTAB Routine - save translation table'                04088000
  1424. * Save current values in STORAG into a TAKE file on disk                04089000
  1425. * Entry: SCANPTR string has option                                      04090000
  1426. * Exit: R15=0 if ok, R15=1 if error or help needed.  ERRNUM set         04091000
  1427. *       appropriately as long as command syntax is ok, else unchanged.  04091500
  1428. GIVTAB   ENTER ALT                                             @SC87117 04092000
  1429.          NTOKN N=GIVH       A or E?                            @SC87117 04093000
  1430.          SCAN  GIVKW,RTRN1                                     @SC87117 04094000
  1431. GIVH     HELP  GIVKW,RTRN1                                     @SC87117 04095000
  1432. *                                                                       04096000
  1433. GIVKW    KW    'ATOE',GIVA                                     @SC87117 04097000
  1434.          KW    'ETOA',GIVE                                     @SC87117 04098000
  1435.          KW    'TATOE',GIVTA,MIN=2                             @SC87117 04099000
  1436.          KW    'TETOA',GIVTE,MIN=2                             @SC87117 04100000
  1437.          KW    ,                                               @SC87117 04101000
  1438. *                                                                       04102000
  1439. GIVA     LA    6,ATOE-ATOE   ATOE table is first in storage    @SC90040 04103000
  1440.          B     GIVSET                                          @SC90040 04103300
  1441. GIVE     LA    6,ETOA-ATOE   i.e., 256                         @SC90040 04103600
  1442. GIVSET   LR    7,1           Save ptr to cmd option            @SC90040 04103900
  1443.          XR    0,0           Quit if invalid pair              @SC90040 04104200
  1444.          L     1,CBUF                                          @SC90040 04104500
  1445.          KCALL TBLSET,E=RTRN1 Load base tables into CBUF       @SC90040 04104800
  1446.          LA    0,0(6,1)      R0->base table                    @SC90040 04105100
  1447.          LA    6,ATOE-1(6)   R6->working table - 1             @SC90040 04105400
  1448.          LR    1,7           R1->item in keywords list         @SC90040 04105700
  1449.          B     GIVAE                                           @SC90040 04106000
  1450. GIVTA    LA    6,TATOE-1                                       @SC87117 04107000
  1451. GIVA1    LA    0,ATOED                                         @SC87117 04108000
  1452.          B     GIVAE                                           @SC87117 04109000
  1453. GIVTE    LA    6,TETOA-1                                       @SC87117 04110000
  1454. GIVE1    LA    0,ETOAD                                         @SC87117 04111000
  1455. GIVAE    SR    15,15                                           @SC87117 04112000
  1456.          IC    15,0(1)       Get length of name                @SC88298 04113000
  1457.          MVC   GIVBUF(4),=C'SET '                              @SC87117 04114000
  1458.          MVC   GIVBUF+4(10),5(1)  Copy name to command         @SC87117 04115000
  1459.          LA    15,GIVBUF+5(15)                                 @SC87117 04116000
  1460.          MVI   0(15),C' '                                      @SC87117 04117000
  1461.          LA    15,1(15)      Get ptr for 1st argument          @SC87117 04118000
  1462.          LR    1,0                                             @SC87117 04119000
  1463.          BCTR  0,0           Back up to start at "difference"  @SC87117 04120000
  1464.          STM   15,1,GIVSV    Save ptrs: cmd, table, table start@SC87117 04121000
  1465.          LA    7,257         Table length + 1                  @SC87117 04122000
  1466.          LA    0,FFGIV                                         @SC87117 04123000
  1467.          KCALL FSPEC,FILNAM,E=GIVFNE  Error                    @SC87117 04124000
  1468.          MVI   ERRNUM,ERRNOE Ok now                            @SC87117 04125000
  1469.          OPENF O,FILNAM,LOGFDB,GIVPTR,E=GIVOPERR               @SC87117 04126000
  1470. GIVLP    LM    15,0,GIVSV    Get output ptr, table scan ptr    @SC87117 04127000
  1471.          LA    6,1(6)        Skip last difference              @SC87117 04128000
  1472.          AH    0,*-2                                           @SC87117 04129000
  1473.          BCTR  7,0           New length left                   @SC87117 04130000
  1474.          LR    1,7           Copy length                       @SC87117 04131000
  1475.          CLCL  0,6           Find next difference              @SC87117 04132000
  1476.          BE    GIVFIN        All done                          @SC87117 04133000
  1477.          ST    0,GIVSV+4     Save new ptr                      @SC87117 04134000
  1478.          LR    4,0           Get offset                        @SC87117 04135000
  1479.          S     4,GIVSV+8                                       @SC87117 04136000
  1480.          BAL   2,EDDEC       Write as decimal                  @SC87117 04137000
  1481.          MVI   0(15),C' '    Leave space                       @SC87117 04138000
  1482.          LA    15,1(15)                                        @SC87117 04139000
  1483.          IC    4,0(6)        Get tailored character            @SC87117 04140000
  1484.          BAL   2,EDDEC       Write as decimal                  @SC87117 04141000
  1485.          LA    2,GIVBUF                                        @SC87117 04142000
  1486.          SR    15,2          Length of line                    @SC87117 04143000
  1487.          WRITF GIVPTR,BUFFER=(2),BSIZE=(15),E=GIVWRERR         @SC87117 04144000
  1488.          B     GIVLP                                           @SC87117 04145000
  1489. GIVWRERR CLOSF GIVPTR        Close output file                 @SC87117 04146000
  1490. GIVOPERR PTEXT 'Unable to write file'                          @SC87117 04147000
  1491. GIVFNE   WTEXT (3),(4)       Show message                      @SC87117 04148000
  1492.          B     RTRN1                                           @SC87117 04149000
  1493. GIVFIN   CLOSF GIVPTR,E=GIVOPERR Close output file             @SC87117 04150000
  1494.          B     RTRN0                                           @SC86295 04151000
  1495.          LOCALS ,                                              @SC86295 04152000
  1496. GIVSV    DS    3F            Saved ptrs for saving table       @SC87117 04153000
  1497. GIVPTR   DS    A             Ticket for disk I/O               @SC87117 04154000
  1498. GIVBUF   DS    CL25          Buffer for new file               @SC87117 04155000
  1499.          EXIT                                                  @SC86164 04156000
  1500.          TITLE 'OPTPKT Routine - compute optimum packet size'  @SC88325 04156010
  1501. * Entry: TINSV contains stack of data                                   04156020
  1502. * Exit: R15=0 if no limit, else optimum packet size                     04156030
  1503. OPTPKT   ENTER ,                                               @SC88325 04156040
  1504.          LM    1,2,TINTOT    Get byte count                    @SC88325 04156050
  1505.          AL    2,TOUTOT+4                                      @SC88325 04156060
  1506.          BC    12,*+8                                          @SC88092 04156070
  1507.          AL    1,F1                                            @SC88325 04156080
  1508.          AL    1,TOUTOT                                        @SC88325 04156090
  1509.          LM    3,4,PAKCNT    Get packets, errors               @SC88325 04156100
  1510.          L     5,CSECTOT     Get time (elapsed, if done)       @SC88325 04156110
  1511.          LM    6,9,TINSV     3rd-last snapshot                 @SC88325 04156120
  1512.          MVC   TINSV(32),TINSV+16 Shift snapshots back         @SC88325 04156130
  1513.          STM   2,5,TINSV+32  And insert latest                 @SC88325 04156140
  1514.          LTR   4,4           Any errors ever?                  @SC88325 04156150
  1515.          BZ    RTRN0         No, use max buffer                @SC88325 04156160
  1516.          SLR   2,6           Get incremental counts: bytes,    @SC88325 04156170
  1517.          SR    3,7           ... packets,                      @SC88325 04156180
  1518.          BP    *+8                                             @SC89275 04156183
  1519.           LA   3,1           Mustn't divide by 0!              @SC89275 04156186
  1520.          SR    4,8           ... errors,                       @SC88325 04156190
  1521.          BP    *+8                                             @SC88325 04156200
  1522.           LA   4,1           Mustn't divide by 0!              @SC88325 04156210
  1523.          SR    5,9           ... and csec.                     @SC88325 04156220
  1524.          BNM   *+8                                             @SC88325 04156230
  1525.           A    5,=F'1759218604' Wraps by 2**44/10000           @SC88325 04156240
  1526.          LR    7,4           Save error count                  @SC88325 04156250
  1527.          M     4,BAUD        Total possible transmission       @SC88325 04156260
  1528.          C     4,=F'500'                                       @SC88325 04156270
  1529.          BNL   RTRN0                                           @SC88325 04156280
  1530.          D     4,=F'1000'    Correct for 10 baud, 100 csec     @SC88325 04156290
  1531.          SR    5,2           Possible - actual                 @SC88325 04156300
  1532.          BNP   RTRN0         ??                                @SC88325 04156310
  1533.          MR    6,3           Errors * packets                  @SC88325 04156320
  1534.          SLA   3,4           Packets * 16 (16 apprx 19)        @SC88325 04156330
  1535.          SR    2,3           Useful bytes                      @SC88325 04156340
  1536.          LR    3,2                                             @SC88325 04156350
  1537.          SLR   2,2           Prepare divide                    @SC88325 04156360
  1538.          DR    2,7                                             @SC88325 04156370
  1539.          MR    2,5                                             @SC88325 04156380
  1540. *  Compute sq rt of value in (2,3), return in 15.  Uses 2,3,4,5,14.     04156390
  1541. SQRT     LR    14,2          Copy for sqrt                     @SC86345 04156400
  1542.          LR    15,3                                            @SC86345 04156410
  1543.          LA    4,31          Count bits                        @SC86345 04156420
  1544. SQRL1    CL    2,=XL4'10000000'                                @SC86345 04156430
  1545.          BNL   SQRL2         Justified now                     @SC86345 04156440
  1546.          SLDL  2,2           Keep shifting                     @SC86345 04156450
  1547.          BCT   4,SQRL1                                         @SC86345 04156460
  1548. SQRL2    LCR   4,4                                             @SC86345 04156470
  1549.          AL    2,=XL4'10000000'  1st guess at sqrt             @SC86345 04156480
  1550.          SRDL  2,62(4)       Shift back                        @SC86345 04156490
  1551.          LTR   3,3                                             @SC86345 04156500
  1552.          BNP   SQRX          Too small anyway                  @SC86345 04156510
  1553.          LA    2,3                                             @SC86345 04156520
  1554. SQRL3    LR    4,14                                            @SC86345 04156530
  1555.          LR    5,15                                            @SC86345 04156540
  1556.          DR    4,3           Get next guess                    @SC86345 04156550
  1557.          AR    3,5                                             @SC86345 04156560
  1558.          SRA   3,1                                             @SC86345 04156570
  1559.          BCT   2,SQRL3                                         @SC86345 04156580
  1560. SQRX     LR    15,3                                            @SC86345 04156590
  1561.          B     RTRN                                            @SC88325 04156600
  1562.          LOCALS ,                                              @SC88325 04156610
  1563.          EXIT  ,                                               @SC88325 04156620
  1564.          TITLE 'GENCMD Routine - send a Generic command'       @SC86155 04157000
  1565. * Entry: SCANPTR has string                                             04158000
  1566. * Exit: R15=0 if ok, 1 if help needed, 2 if bad parameter               04159000
  1567. *       ERRNUM set appropriately                                        04160000
  1568. GENCMD   ENTER                                                 @SC86155 04161000
  1569.          LA    8,1           One operand                       @SC86295 04162000
  1570.          LTR   1,1                                             @SC86295 04163000
  1571.          BZ    REMCMD        Parse REMOTE command              @SC86295 04164000
  1572.          LA    0,AG          Packet type = generic command     @SC86155 04165000
  1573. GENNUL   SR    5,5           NO ARGUMENTS                      @SC86316 04166000
  1574. GENFILL  STC   0,STYPE       Set packet type                   @SC86155 04167000
  1575.          L     3,RBUF        Put string here                   @SC86155 04168000
  1576.          CLI   STYPE,AG      Generic?                          @SC86155 04169000
  1577.          BNE   GENOTH1       No subcommand                     @SC86155 04170000
  1578.          STC   1,0(3)        Save subcommand byte              @SC86155 04171000
  1579.          LA    3,1(3)        Move to next character position   @SC86155 04172000
  1580.          B     GENOTH1                                         @SC86295 04173000
  1581. GENNXT   NTOKN N=RTRN1       Get next argument                 @SC86295 04174000
  1582.          LA    5,1(7)        Length                            @SC86295 04175000
  1583.          LR    4,6           Address                           @SC86295 04176000
  1584. GENOTH1  LTR   1,5           Any argument?                     @SC86155 04177000
  1585.          BZ    GENFILZ       No, done                          @SC86155 04178000
  1586.          CLI   STYPE,AG      Generic?                          @SC86155 04179000
  1587.          BNE   GENOTH2       No, skip length indicator         @SC86155 04180000
  1588.          TOCHR 1,,0(3)       Yes, do it                        @SC86155 04181000
  1589.          LA    3,1(3)                                          @SC86155 04182000
  1590. GENOTH2  MVC   0(96,3),0(4)  Copy argument                     @SC86155 04183000
  1591.          TR    0(96,3),ETOA  in ASCII                          @SC86155 04184000
  1592.          AR    3,5           Advance ptr                       @SC86155 04185000
  1593.          BCT   8,GENNXT                                        @SC86295 04186000
  1594. GENFILZ  S     3,RBUF        Length of buffer                  @SC86155 04187000
  1595.          ST    3,RBUFL       Set buffer size                   @SC86155 04188000
  1596.          BAL   8,IPKSET      Set state table, exchange parms   @SC86155 04189000
  1597.          DC    AL1(AY),AL3(0)        ACK'ed     Must be just   @SC86155 04190000
  1598.          DC    XL1'FF',AL3(GENRET)   Stop       these 3        @SC88074 04191000
  1599.          DC    AL1(00),AL3(GENAB3)   Error      items.         @SC88074 04191500
  1600.          BAL   8,GENSET      Set state table                   @SC86155 04192000
  1601. * Server cmd Rpack interpret input table                       @SC86155 04193000
  1602.          DC    AL1(AY),AL3(0)        ACK'ed                    @SC86155 04194000
  1603.          DC    AL1(AS),AL3(GENRPL)   Long reply                @SC86155 04195000
  1604.          DC    AL1(AX),AL3(GENRPX)   Long reply already INIT   @SC88074 04196000
  1605.          DC    AL1(AF),AL3(GENRPX)   Long reply already INIT   @SC88074 04196300
  1606.          DC    XL1'FF',AL3(GENRET)   Stop                      @SC88074 04196600
  1607.          DC    AL1(00),AL3(GENAB3)   Error                     @SC88074 04196900
  1608. GENSET   BAL   9,ENCODEN     Encode command                    @SC86295 04197000
  1609.          BAL   9,INPUTSPK    Send, get response                @SC86295 04198000
  1610.          MVI   ERRNUM,ERRNOE No errors                         @SC86155 04199000
  1611.          ICM   0,15,DATL     Any short reply?                  @SC86155 04200000
  1612.          BZ    GENRET        No, done                          @SC86155 04201000
  1613.          NI    FL1,255-EOF   Yes, set flags                    @SC86155 04202000
  1614.          XC    WBUFL,WBUFL   Clear old data                    @SC86155 04203000
  1615.          OI    LOGFLGS,APPN  DISP=MOD                          @SC86295 04204000
  1616.          BAL   2,GENRPS      Set up file name                  @SC86295 04205000
  1617.          OPENF O,FILNAM,LOGFDB,FILPTR,E=GENABR                 @SC89013 04206000
  1618.          USING FDBD,1                                          @SC86295 04207000
  1619.          L     0,FABLRTR     Get effective record length       @SC88120 04208000
  1620.          ST    0,MAXOUT      Save for folding (if need be)     @SC88120 04209000
  1621.          ST    0,FSIZE       Copy LRECL                        @SC86295 04210000
  1622.          MVC   FRECF,FDBRCF  Copy RECFM                        @SC86295 04211000
  1623.          DROP  1                                               @SC86155 04212000
  1624. GENOPN   KCALL DECODE,E=GENAB2 Copy message to output          @SC86155 04213000
  1625.          ICM   1,15,WBUFL    Check length in buffer            @SC88120 04214000
  1626.          BE    GENRPZ                                          @SC86155 04215000
  1627.          KCALL OUTBUF,E=GENAB2  Yes, copy that as well         @SC86155 04216000
  1628. GENRPZ   CLOSF FILPTR                                          @SC86295 04217000
  1629.          MVI   ERRNUM,ERRNOE No errors                         @SC86155 04218000
  1630.          B     GENFIN                                          @SC86295 04219000
  1631. *                                                                       04220000
  1632. GENRPX   CLI   BCTR,1        This works only with 1-byte check @SC88074 04221000
  1633.          BNE   GENAB3                                          @SC88074 04221300
  1634. GENRPL   DS    0H            Long reply                        @SC88074 04221600
  1635.          BAL   2,GENRPS      Set up file name                  @SC86295 04222000
  1636.          KCALL RECEIV                                          @SC86155 04223000
  1637.          B     GENFIN                                          @SC86155 04225000
  1638. *                                                                       04226000
  1639. GENRPS   LA    0,L'REPNAM    Name string length                @SC86295 04227000
  1640.          LA    1,REPNAM      and address                       @SC86295 04228000
  1641.          STM   0,1,SCANPTR                                     @SC86295 04229000
  1642.          LA    0,FFRCF                                         @SC86295 04230000
  1643.          KCALL FSPEC,FILNAM  Convert to filespec               @SC86295 04231000
  1644.          IC    9,FL3         Save flags                        @SC86295 04232000
  1645.          OI    FL3,APPN      Don't erase it                    @SC86295 04233000
  1646.          BR    2                                               @SC86295 04234000
  1647. *                                                                       04235000
  1648. GENAB2   CLOSF FILPTR                                          @SC86295 04236000
  1649.          B     GENABR                                          @SC88074 04236300
  1650. GENAB3   IC    9,FL3         Save flags                        @SC88074 04236600
  1651. GENABR   KCALL ERPACK                                          @SC86155 04237000
  1652. GENFIN   STC   9,FL3         Restore flags                     @SC86295 04238000
  1653. GENRET   KCALL INTINI,0                                        @SC86155 04239000
  1654.          B     RTRN0                                           @SC86295 04240000
  1655. *                                                                       04241000
  1656. * Make foreign Kermit execute command                                   04242000
  1657. REMCMD   NTOKN N=RTRN2                                         @SC86295 04243000
  1658.          SCAN  REMCMDKW,RTRN1                                  @SC86295 04244000
  1659.          B     RTRN2                                           @SC86295 04245000
  1660. *                                                                       04246000
  1661. REMCMDKW KW    'COPY',REMCOP,MIN=2                             @SC86295 04247000
  1662.          KW    'CWD',REMARG,MIN=3                              @SC86295 04248000
  1663.          KW    'DIRECTORY',REMARG,MIN=3                        @SC86155 04249000
  1664.          KW    'ERASE',REMARG                                  @SC86155 04250000
  1665.          KW    'HELP',REMARG                                   @SC86155 04251000
  1666.          KW    'HOST',REMHST,MIN=2                             @SC86155 04252000
  1667.          KW    'KERMIT',REMKRM                                 @SC86155 04253000
  1668.          KW    'RENAME',REMREN                                 @SC86295 04254000
  1669.          KW    'SPACE',REMSPA,MIN=2                            @SC86155 04255000
  1670.          KW    'TYPE',REMARG,MIN=2                             @SC86155 04256000
  1671.          KW    ,                                               @SC86155 04257000
  1672. *                                                                       04258000
  1673. REMHST   LA    0,AC          Host command                      @SC86155 04259000
  1674.          B     REMPRS                                          @SC86155 04260000
  1675. *                                                                       04261000
  1676. REMKRM   LA    0,AK          KERMIT command                    @SC86155 04262000
  1677. REMPRS   FTOKN N=RTRN1       See if anything given             @SC86295 04263000
  1678.          LR    4,7                                             @SC86295 04264000
  1679.          LR    5,6           Use whole string                  @SC86295 04265000
  1680.          B     GENFILL                                         @SC86295 04266000
  1681. *                                                                       04267000
  1682. REMSPA   LA    1,AU          Space command                     @SC86155 04268000
  1683.          B     REMPRSG                                         @SC86155 04269000
  1684. *                                                                       04270000
  1685. REMCOP   LA    8,2           Copy: two files                   @SC86295 04271000
  1686.          LA    1,AK                                            @SC86295 04272000
  1687.          B     REMPRSG                                         @SC86295 04273000
  1688. REMREN   LA    8,2           Rename: two files                 @SC86295 04274000
  1689. *                                                                       04275000
  1690. REMARG   SR    1,1                                             @SC86155 04276000
  1691.          IC    1,0(6)        1st letter is abbrev              @SC86155 04277000
  1692.          IC    1,ETOAD(1)    ASCII                             @SC88273 04278000
  1693. REMPRSG  LA    0,AG          (generic)                         @SC86155 04279000
  1694.          NTOKN N=GENNUL      Skip any blanks                   @SC86295 04280000
  1695.          LA    5,1(7)        Save length                       @SC86295 04281000
  1696.          LR    4,6           Save ptr                          @SC86295 04282000
  1697.          B     GENFILL       Copy to output                    @SC86155 04283000
  1698.          LOCALS ,                                              @SC86295 04284000
  1699. REMCMD   EXIT  ,                                               @SC86155 04285000
  1700.          TITLE 'TBLSET Routine - set up character set'         @SC90040 04286000
  1701. * Define new translation tables                                         04287000
  1702. * Entry: Names of table in TRNALF and FILALF, R1->tables                04288000
  1703. *        R0->item just changed, if any (else, 0)                        04289000
  1704. *        Tables should be a pair with ATOE first                        04290000
  1705. * Exit: R15=0 if ok, R15=1 if error ERRNUM unchanged.                   04291000
  1706. TBLSET   ENTER ,                                               @SC90040 04292000
  1707.          LR    9,1           Save ptr to pair of tables        @SC90040 04293000
  1708.          LA    1,ATOE        Usual table to fill               @SC90040 04294000
  1709.          CR    1,9                                             @SC90040 04295000
  1710.          BNE   *+8           Special case, don't enable attr.  @SC90040 04296000
  1711.           OI   ATFL2,ATFENC  Now allow Encoding attribute      @SC90040 04297000
  1712.          LA    5,TRNTBL      Ptr to list                       @SC90040 04298000
  1713.          LA    6,LTRNTBL                                       @SC90040 04299000
  1714.          LA    7,TRNTBLZ     Ptr to end of list                @SC90040 04300000
  1715.          LA    1,TRNALF      Ptr to transfer set name          @SC90040 04301000
  1716. TBLLKP   CLC   0(16,5),0(1)  Compare both names                @SC90040 04302000
  1717.          BE    TBLFND        Got it!                           @SC90040 04303000
  1718.          BXLE  5,6,TBLLKP                                      @SC90040 04304000
  1719.          LTR   0,0           Which char set just changed?      @SC90040 04305000
  1720.          BNZ   TBLFIX        Patch other to make valid combo   @SC90040 04306000
  1721. TBLNFND  WTEXT 'Undefined character translation'               @SC90040 04307000
  1722.          B     RTRN1                                           @SC90040 04308000
  1723. *                                                                       04309000
  1724. TBLREP   MVC   TRNALF(16),0(5) Set up new table name           @SC90040 04310000
  1725. *  Enter here with R9->tables, R5->needed translation entry    @SC90040 04311000
  1726. TBLFND   LR    1,9           Fill in ATOE table first          @SC90040 04312000
  1727.          LM    6,7,16(5)                                       @SC90040 04313000
  1728.          BAL   2,TBLCPY                                        @SC90040 04314000
  1729.          LA    1,256(,9)     Fill in ETOA table second         @SC90040 04315000
  1730.          LM    6,8,24(5)                                       @SC90040 04316000
  1731.          ST    8,CDESPTR     Save character set designator     @SC90040 04317000
  1732.          BAL   2,TBLCPY                                        @SC90040 04318000
  1733.          B     RTRN0                                           @SC90040 04319000
  1734. *                                                                       04320000
  1735. TBLFIX   LA    5,TRNTBL      Ptr to list again                 @SC90040 04321000
  1736.          CR    0,1           Giving precedence to transfer set?@SC90040 04322000
  1737.          BNE   TBLLKF        No, insist on file set            @SC90040 04323000
  1738. TBLLKT   CLC   0(8,5),0(1)   Compare just transfer set         @SC90040 04324000
  1739.          BE    TBLREP        First such entry selects file set @SC90040 04325000
  1740.          BXLE  5,6,TBLLKT                                      @SC90040 04326000
  1741. TBLLKF   CLC   8(8,5),8(1)   Compare just file set             @SC90040 04327000
  1742.          BNE   TBLLKFZ       Keep looking                      @SC90040 04328000
  1743.          ICM   0,15,LTRNTBL-4(5)   Any preferred transfer set? @SC90040 04329000
  1744.          BM    TBLREP        Yes, this very one                @SC90040 04330000
  1745. TBLLKFZ  BXLE  5,6,TBLLKF                                      @SC90040 04331000
  1746.          B     TBLNFND       Something bizarre happened        @SC90040 04332000
  1747. *                                                                       04333000
  1748. * Entry: R6->Designator string, R7=length                      @SC90040 04334000
  1749. * Exit:  Correct table set up and R15=0 if ok, else 1          @SC90040 04335000
  1750. TBLATT   ENTER ALT                                             @SC90040 04336000
  1751.          LA    1,TBLDS       Start of designator list          @SC90040 04337000
  1752.          SR    3,3                                             @SC90040 04338000
  1753. TBLALP   ICM   3,1,4(1)      Get length of next item in list   @SC90040 04339000
  1754.          BZ    RTRN1         End.  String not found            @SC90040 04340000
  1755.          CR    3,7           Right length?                     @SC90040 04341000
  1756.          BNE   TBLALQ        No, keep looking                  @SC90040 04342000
  1757.          LR    4,3           Get length for EX                 @SC90040 04343000
  1758.          BCTR  4,0                                             @SC90040 04344000
  1759.          EX    4,TBLACLC     Strings match?                    @SC90040 04345000
  1760.          BNE   TBLALQ        No, keep looking                  @SC90040 04346000
  1761.          ICM   5,15,0(1)     Yes, get table pointer            @SC90040 04347000
  1762.          LR    6,5           Set to scan through tables        @SC90040 04348000
  1763. TBLAFLP  CLC   0(8,6),0(5)   See if still same transfer set    @SC90040 04349000
  1764.          BNE   TBLAFND       No, use default ???               @SC90040 04350000
  1765.          CLC   FILALF,8(6)   See if found right local set      @SC90040 04351000
  1766.          BE    TBLAFNO       Yes, use this table               @SC90040 04352000
  1767.          LA    6,LTRNTBL(,6) No, try next                      @SC90040 04353000
  1768.          B     TBLAFLP                                         @SC90040 04354000
  1769. TBLAFNO  LR    5,6                                             @SC90040 04355000
  1770. TBLAFND  CLC   TRNALF(16),0(5) Already have this table?        @SC90040 04356000
  1771.          BE    RTRN0         Yes, all done                     @SC90040 04357000
  1772.          MVC   TRNALF(16),0(5) Set up new table name           @SC90040 04358000
  1773.          LA    9,ATOE        Set ptr to working tables         @SC90040 04359000
  1774.          B     TBLFND        Adopt table                       @SC90040 04360000
  1775. TBLALQ   LA    1,5(3,1)                                        @SC90040 04361000
  1776.          B     TBLALP                                          @SC90040 04362000
  1777. TBLACLC  CLC   0(,6),5(1)    Compare against list item         @SC90040 04363000
  1778. *                                                                       04364000
  1779. * Copy info into table: basic stuff + any "corrections"        @SC90040 04365000
  1780. *  R1->table, R6->basic stuff, R7->corrections, if any         @SC90040 04366000
  1781. TBLCPY   LTR   6,6                                             @SC90040 04367000
  1782.          BZ    TBLCPI        No EtoA table - just invert AtoE  @SC90040 04368000
  1783.          MVC   0(256,1),0(6) Basic pattern                     @SC90040 04369000
  1784.          LTR   7,7           Ptr to modification list          @SC90040 04370000
  1785.          BZR   2             No list                           @SC90040 04371000
  1786.          SR    6,6                                             @SC90040 04372000
  1787. TBLCPL   ICM   6,1,0(7)      Get offset into table             @SC90040 04373000
  1788.          BZR   2             End of list                       @SC90040 04374000
  1789.          IC    0,1(,7)       Get changed value                 @SC90040 04375000
  1790.          STC   0,0(6,1)                                        @SC90040 04376000
  1791.          LA    7,2(,7)                                         @SC90040 04377000
  1792.          B     TBLCPL                                          @SC90040 04378000
  1793. TBLCPI   SR    7,7           Clear work regs.                  @SC90040 04379000
  1794.          XC    0(256,1),0(1) Clear out table                   @SC90040 04380000
  1795.          LA    7,255                                           @SC90040 04381000
  1796. TBLCPIL  IC    6,ATOE(7)     Get EBCDIC for (7)                @SC90040 04382000
  1797.          STC   7,0(6,1)      And store inverse                 @SC90040 04383000
  1798.          BCT   7,TBLCPIL     Do all but NULL                   @SC90040 04384000
  1799.          MVI   0(1),0        NULL is always NULL               @SC90040 04385000
  1800.          BR    2                                               @SC90040 04386000
  1801. *                                                                       04387000
  1802. * Format is: CL8'transfer',CL8'local'                          @SC90040 04388000
  1803. *            A(t-to-l,adjusts,l-to-t,adjusts,designator,flag)  @SC90040 04389000
  1804. *                     if any   or 0  if any                    @SC90040 04390000
  1805. *  Items should be grouped by transfer set, default 1st        @SC90040 04391000
  1806. *  Flag is -1 in exactly one entry for each possible file set, @SC90040 04392000
  1807. *  but flag is 0 for any others.  "-1" marks preferred entry.  @SC90040 04393000
  1808. TRNTBL   DS    0F            Table of translations             @SC90040 04394000
  1809.          DC    C'ASCII   EBCDIC  '     *** Default ***         @SC90040 04395000
  1810.          DC    A(ATOED,0,ETOAD,0,0,0)                          @SC90040 04396000
  1811.          DC    C'ASCII   CP037   '                             @SC90040 04397000
  1812.          DC    A(ATOED,ASE37F,ETOAD,0,0,0)                     @SC90040 04398000
  1813.          DC    C'ASCII   CP500   '                             @SC90040 04399000
  1814.          DC    A(ATOED,ASE5F,ETOAD,0,0,0)                      @SC90040 04400000
  1815.          DC    C'ASCII   DKOI    '                             @SC90040 04401000
  1816.          DC    A(CYTODKOI,ASDKF,DKOITOAS,0,0,0)                @SC90040 04402000
  1817. TRNTNCY  DC    C'CYRILLICDKOI    ' USSR                        @SC90040 04403000
  1818.          DC    A(CYTODKOI,0,0,0,TBLDSCY,-1)                    @SC90040 04404000
  1819. TRNTNL1  DC    C'LATIN1  EBCDIC  '  Default Latin-1 table      @SC90040 04405000
  1820.          DC    A(L1TOE,0,0,0,TBLDSL1,-1)                       @SC90040 04406000
  1821. TRNTNCA  DC    C'LATIN1  CP037   ' US, Fr. Canada, Neth, Port. @SC90040 04407000
  1822.          DC    A(L1TOE,L1E37F,0,0,TBLDSL1,-1)                  @SC90040 04408000
  1823. TRNTNDE  DC    C'LATIN1  CP273   ' Germany                     @SC90040 04409000
  1824.          DC    A(L1TOE,L1E273F,0,0,TBLDSL1,-1)                 @SC90040 04410000
  1825. TRNTNBR  DC    C'LATIN1  CP275   ' Brazil                      @SC90040 04411000
  1826.          DC    A(L1TOE,L1E275F,0,0,TBLDSL1,-1)                 @SC90040 04412000
  1827. TRNTNDK  DC    C'LATIN1  CP277   ' Denmark, Norway             @SC90040 04413000
  1828.          DC    A(L1TOE,L1E277F,0,0,TBLDSL1,-1)                 @SC90040 04414000
  1829. TRNTNSE  DC    C'LATIN1  CP278   ' Finland, Sweden             @SC90040 04415000
  1830.          DC    A(L1TOE,L1E278F,0,0,TBLDSL1,-1)                 @SC90040 04416000
  1831. TRNTNIT  DC    C'LATIN1  CP280   ' Italy                       @SC90040 04417000
  1832.          DC    A(L1TOE,L1E280F,0,0,TBLDSL1,-1)                 @SC90040 04418000
  1833. TRNTNPT  DC    C'LATIN1  CP282   ' Portugal                    @SC90040 04419000
  1834.          DC    A(L1TOE,L1E282F,0,0,TBLDSL1,-1)                 @SC90040 04420000
  1835. TRNTNES  DC    C'LATIN1  CP284   ' Spain                       @SC90040 04421000
  1836.          DC    A(L1TOE,L1E284F,0,0,TBLDSL1,-1)                 @SC90040 04422000
  1837. TRNTNUK  DC    C'LATIN1  CP285   ' UK                          @SC90040 04423000
  1838.          DC    A(L1TOE,L1E285F,0,0,TBLDSL1,-1)                 @SC90040 04424000
  1839. TRNTNFR  DC    C'LATIN1  CP297   ' France                      @SC90040 04425000
  1840.          DC    A(L1TOE,L1E297F,0,0,TBLDSL1,-1)                 @SC90040 04426000
  1841. TRNTNBE  DC    C'LATIN1  CP500   ' Belgium, Switzerland        @SC90040 04427000
  1842.          DC    A(L1TOE,L1E5F,0,0,TBLDSL1,-1)                   @SC90040 04428000
  1843. TRNTNIS  DC    C'LATIN1  CP871   ' Iceland                     @SC90040 04429000
  1844.          DC    A(L1TOE,L1E871F,0,0,TBLDSL1,-1)                 @SC90040 04430000
  1845. TRNTNGR  DC    C'GREEK   CP875   ' Greece                      @SC90040 04431000
  1846.          DC    A(GRTOE875,0,0,0,TBLDSGR,-1)                    @SC90040 04432000
  1847. TRNTNIL  DC    C'HEBREW  CP424   ' Israel                      @SC90040 04433000
  1848.          DC    A(L8TOE424,0,0,0,TBLDSHE,-1)                    @SC90040 04434000
  1849. TRNTBLZ  EQU   *                                               @SC90040 04435000
  1850. TRNTNJP  DC    C'KATAKANACP290   ' Japan                       @SC90040 04436000
  1851.          DC    A(KATOE290,0,E290TOKA,0,TBLDSKA,-1)             @SC90040 04437000
  1852. LTRNTBL  EQU   *-TRNTBLZ     Item length                       @SC90040 04438000
  1853. *                                                                       04439000
  1854. *  List of transfer character set designators                  @SC90040 04440000
  1855. TBLDS    EQU   *                                               @SC90040 04441000
  1856. TBLDSCY  DC    AL4(TRNTNCY),AL1(6,AI,A6,ASL,A1,A4,A4) I6/144   @SC90040 04442000
  1857. TBLDSGR  DC    AL4(TRNTNGR),AL1(6,AI,A6,ASL,A1,A2,A6) I6/126   @SC90040 04443000
  1858. TBLDSHE  DC    AL4(TRNTNIL),AL1(6,AI,A6,ASL,A1,A3,A8) I6/138   @SC90040 04444000
  1859. TBLDSKA  DC    AL4(TRNTNJP),AL1(6,AI,A1,A4,ASL,A1,A3) I14/13   @SC90040 04445000
  1860. TBLDSL1  DC    AL4(TRNTNL1),AL1(6,AI,A6,ASL,A1,A0,A0) I6/100   @SC90040 04446000
  1861.          DC    AL4(TRNTNL1),AL1(6,AI,A2,ASL,A1,A0,A0) **TEMP** @SC90040 04447000
  1862.          DC    XL5'0'        End of table                      @SC90040 04448000
  1863.          LOCALS ,                                              @SC90040 04449000
  1864. TBLSET   EXIT  ,                                               @SC90040 04450000
  1865. TRNTBLD  CSECT                                                 @SC90040 04451000
  1866. *                                                                       04452000
  1867. *          Corrections:  ASCII      ->   DKOI                  @SC90040 04453000
  1868. *          ref: Konstantin Vinogradov (ICSTI)                  @SC90040 04454000
  1869. ASDKF    DC    X'60B8',X'61CC',X'62CD',X'63BB',X'64BC',X'65BD' @SC90040 04455000
  1870.          DC    X'66BE',X'67BF',X'68CA',X'69CB',X'6ACC',X'6BCD' @SC90040 04456000
  1871.          DC    X'6CCE',X'6DCF',X'6EDA',X'6FDB',X'70DC',X'71DD' @SC90040 04457000
  1872.          DC    X'72DE',X'73DF',X'74EA',X'75EB',X'76EC',X'77ED' @SC90040 04458000
  1873.          DC    X'78EE',X'79EF',X'7AFA',X'7BFB',X'7CFC',X'7DFD' @SC90040 04459000
  1874.          DC    X'7EFE',X'2775',X'0'                            @SC90040 04460000
  1875. *                                                                       04461000
  1876. *          Corrections:  LATIN1     ->   CP 037                @SC90040 04462000
  1877. *          ref: Andre Pirard (U Liege)                         @SC90040 04463000
  1878. L1E37F   DC    X'AC5F',X'DDAD',X'A8BD'                         @SC90040 04464000
  1879. ASE37F   DC    X'5BBA',X'5DBB',X'5EB0',X'0'                    @SC90040 04465000
  1880. *                                                                       04466000
  1881. *          Corrections:  LATIN1     ->   CP 273                @SC90040 04467000
  1882. *          ref: Andre Pirard (U Liege)                         @SC90040 04468000
  1883. L1E273F  DC    X'214F',X'40B5',X'5B63',X'5CEC',X'5DFC',X'7B43' @SC90040 04469000
  1884.          DC    X'7CBB',X'7DDC',X'7E59',X'A2B0',X'A6CC',X'A77C' @SC90040 04470000
  1885.          DC    X'A8BD',X'ACBA',X'C44A',X'D6E0',X'DC5A',X'DDAD' @SC90040 04471000
  1886.          DC    X'DFA1',X'E4C0',X'F66A',X'FCD0',X'0'            @SC90040 04472000
  1887. *                                                                       04473000
  1888. *          Corrections:  LATIN1     ->   CP 275                @SC90040 04474000
  1889. *          ref: About Type (IBM S544-3516-02)                  @SC90040 04475000
  1890. L1E275F  DC    X'214F',X'23EF',X'245A',X'4066',X'5B71',X'5D68' @SC90040 04476000
  1891.          DC    X'6046',X'7BCF',X'7CBB',X'7D51',X'A2B0',X'A648' @SC90040 04477000
  1892.          DC    X'A8BD',X'ACBA',X'C37B',X'C75B',X'C94A',X'D57C' @SC90040 04478000
  1893.          DC    X'DDAD',X'E379',X'E76A',X'E9D0',X'F5C0',X'0'    @SC90040 04479000
  1894. *                                                                       04480000
  1895. *          Corrections:  LATIN1     ->   CP 277                @SC90040 04481000
  1896. *          ref: Andre Pirard (U Liege)                         @SC90040 04482000
  1897. L1E277F  DC    X'214F',X'234A',X'2467',X'4080',X'5B9E',X'5D9F' @SC90040 04483000
  1898.          DC    X'7B9C',X'7CBB',X'7D47',X'7EDC',X'A2B0',X'A45A' @SC90040 04484000
  1899.          DC    X'A670',X'A8BD',X'ACBA',X'C55B',X'C67B',X'D87C' @SC90040 04485000
  1900.          DC    X'DDAD',X'E5D0',X'E6C0',X'F86A',X'FCA1',X'0'    @SC90040 04486000
  1901. *                                                                       04487000
  1902. *          Corrections:  LATIN1     ->   CP 278                @SC90040 04488000
  1903. *          ref: Andre Pirard (U Liege)                         @SC90040 04489000
  1904. L1E278F  DC    X'214F',X'2363',X'2467',X'40EC',X'5BB5',X'5C71' @SC90040 04490000
  1905.          DC    X'5D9F',X'6051',X'7B43',X'7CBB',X'7D47',X'7EDC' @SC90040 04491000
  1906.          DC    X'A2B0',X'A45A',X'A6CC',X'A74A',X'A8BD',X'ACBA' @SC90040 04492000
  1907.          DC    X'C47B',X'C55B',X'C9E0',X'D67C',X'DDAD',X'E4C0' @SC90040 04493000
  1908.          DC    X'E5D0',X'E979',X'F66A',X'FCA1',X'0'            @SC90040 04494000
  1909. *                                                                       04495000
  1910. *          Corrections:  LATIN1     ->   CP 280                @SC90040 04496000
  1911. *          ref: Andre Pirard (U Liege)                         @SC90040 04497000
  1912. L1E280F  DC    X'214F',X'23B1',X'40B5',X'5B90',X'5C48',X'5D51' @SC90040 04498000
  1913.          DC    X'60DD',X'7B44',X'7CBB',X'7D54',X'7E58',X'A2B0' @SC90040 04499000
  1914.          DC    X'A37B',X'A6CD',X'A77C',X'A8BD',X'ACBA',X'B04A' @SC90040 04500000
  1915.          DC    X'DDAD',X'E0C0',X'E7E0',X'E8D0',X'E95A',X'ECA1' @SC90040 04501000
  1916.          DC    X'F26A',X'F979',X'0'                            @SC90040 04502000
  1917. *                                                                       04503000
  1918. *          Corrections:  LATIN1     ->   CP 282                @SC90040 04504000
  1919. *          ref: About Type (IBM S544-3516-02)                  @SC90040 04505000
  1920. L1E282F  DC    X'214F',X'2366',X'40EF',X'5B4A',X'5C68',X'5D5A' @SC90040 04506000
  1921.          DC    X'7B46',X'7CBB',X'7DBE',X'7E48',X'A2B0',X'A6CF' @SC90040 04507000
  1922.          DC    X'A8BD',X'ACBA',X'B4D0',X'C37B',X'C7E0',X'D57C' @SC90040 04508000
  1923.          DC    X'DDAD',X'E3C0',X'E7A1',X'F56A',X'0'            @SC90040 04509000
  1924. *                                                                       04510000
  1925. *          Corrections:  LATIN1     ->   CP 284                @SC90040 04511000
  1926. *          ref: Andre Pirard (U Liege)                         @SC90040 04512000
  1927. L1E284F  DC    X'21BB',X'2369',X'5B4A',X'5D5A',X'5EBA',X'7EBD' @SC90040 04513000
  1928.          DC    X'A2B0',X'A649',X'A8A1',X'AC5F',X'D17B',X'DDAD' @SC90040 04514000
  1929.          DC    X'F16A',X'0'                                    @SC90040 04515000
  1930. *                                                                       04516000
  1931. *          Corrections:  LATIN1     ->   CP 285                @SC90040 04517000
  1932. *          ref: Andre Pirard (U Liege)                         @SC90040 04518000
  1933. L1E285F  DC    X'244A',X'5BB1',X'5DBB',X'5EBA',X'7EBC',X'A2B0' @SC90040 04519000
  1934.          DC    X'A35B',X'A8BD',X'AC5F',X'AFA1',X'DDAD',X'0'    @SC90040 04520000
  1935. *                                                                       04521000
  1936. *          Corrections:  LATIN1     ->   CP 297                @SC90040 04522000
  1937. *          ref: Andre Pirard (U Liege)                         @SC90040 04523000
  1938. L1E297F  DC    X'214F',X'23B1',X'4044',X'5B90',X'5C48',X'5DB5' @SC90040 04524000
  1939.          DC    X'60A0',X'7B51',X'7CBB',X'7D54',X'7EBD',X'A2B0' @SC90040 04525000
  1940.          DC    X'A37B',X'A6DD',X'A75A',X'A8A1',X'ACBA',X'B04A' @SC90040 04526000
  1941.          DC    X'B579',X'DDAD',X'E07C',X'E7E0',X'E8D0',X'E9C0' @SC90040 04527000
  1942.          DC    X'F96A',X'0'                                    @SC90040 04528000
  1943. *                                                                       04529000
  1944. *          Corrections:  LATIN1     ->   CP 500                @SC90040 04530000
  1945. *          ref: Andre Pirard (U Liege)                         @SC90040 04531000
  1946. L1E5F    DC    X'A2B0',X'A8BD',X'ACBA',X'DDAD'                 @SC90040 04532000
  1947. ASE5F    DC    X'214F',X'5B4A',X'5D5A',X'7CBB',X'0'            @SC90040 04533000
  1948. *                                                                       04534000
  1949. *          Corrections:  LATIN1     ->   CP 871                @SC90040 04535000
  1950. *          ref: About Type (IBM S544-3516-02)                  @SC90040 04536000
  1951. L1E871F  DC    X'214F',X'40AC',X'5BAE',X'5CBE',X'5D9E',X'5EEC' @SC90040 04537000
  1952.          DC    X'608C',X'7B8E',X'7CBB',X'7D9C',X'7ECC',X'A2B0' @SC90040 04538000
  1953.          DC    X'A8BD',X'ACBA',X'B4E0',X'C65A',X'D07C',X'D65F' @SC90040 04539000
  1954.          DC    X'DDAD',X'DE4A',X'E6D0',X'F079',X'F6A1',X'FEC0' @SC90040 04540000
  1955.          DC    X'0'                                            @SC90040 04541000
  1956. *                                                                       04542000
  1957. L1TOE    EQU   *             LATIN1 to EBCDIC                  @SC90040 04543000
  1958. *          ref: composite                                      @SC90040 04544000
  1959. *               0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F @SC90040 04545000
  1960.          HTBL  00,01,02,03,37,2D,2E,2F,16,05,25,0B,0C,0D,0E,0F 0 C90040 04546000
  1961.          HTBL  10,11,12,13,3C,3D,32,26,18,19,3F,27,1C,1D,1E,1F 1 C90040 04547000
  1962.          HTBL  40,5A,7F,7B,5B,6C,50,7D,4D,5D,5C,4E,6B,60,4B,61 2 C90040 04548000
  1963.          HTBL  F0,F1,F2,F3,F4,F5,F6,F7,F8,F9,7A,5E,4C,7E,6E,6F 3 C90040 04549000
  1964.          HTBL  7C,C1,C2,C3,C4,C5,C6,C7,C8,C9,D1,D2,D3,D4,D5,D6 4 C90040 04550000
  1965.          HTBL  D7,D8,D9,E2,E3,E4,E5,E6,E7,E8,E9,AD,E0,BD,5F,6D 5 C90040 04551000
  1966.          HTBL  79,81,82,83,84,85,86,87,88,89,91,92,93,94,95,96 6 C90040 04552000
  1967.          HTBL  97,98,99,A2,A3,A4,A5,A6,A7,A8,A9,C0,4F,D0,A1,07 7 C90040 04553000
  1968.          HTBL  20,21,22,23,24,15,06,17,28,29,2A,2B,2C,09,0A,1B 8 C90040 04554000
  1969.          HTBL  30,31,1A,33,34,35,36,08,38,39,3A,3B,04,14,3E,FF 9 C90040 04555000
  1970.          HTBL  41,AA,4A,B1,9F,B2,6A,B5,BB,B4,9A,8A,B0,CA,AF,BC A C90040 04556000
  1971.          HTBL  90,8F,EA,FA,BE,A0,B6,B3,9D,DA,9B,8B,B7,B8,B9,AB B C90040 04557000
  1972.          HTBL  64,65,62,66,63,67,9E,68,74,71,72,73,78,75,76,77 C C90040 04558000
  1973.          HTBL  AC,69,ED,EE,EB,EF,EC,BF,80,FD,FE,FB,FC,BA,AE,59 D C90040 04559000
  1974.          HTBL  44,45,42,46,43,47,9C,48,54,51,52,53,58,55,56,57 E C90040 04560000
  1975.          HTBL  8C,49,CD,CE,CB,CF,CC,E1,70,DD,DE,DB,DC,8D,8E,DF F C90040 04561000
  1976. *                                                                       04562000
  1977. DKOITOAS EQU   *             DKOI (EBCDIC) to ASCII            @SC90040 04563000
  1978. *          ref: Konstantin Vinogradov (ICSTI)                  @SC90040 04564000
  1979. *               0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F @SC90040 04565000
  1980.          HTBL  00,01,02,03,00,09,00,7F,00,00,00,0B,0C,0D,0E,0F 0 C90040 04566000
  1981.          HTBL  10,11,12,13,00,00,08,00,18,19,00,00,1C,1D,1E,1F 1 C90040 04567000
  1982.          HTBL  00,00,00,00,00,0A,17,1B,00,00,00,00,00,05,06,07 2 C90040 04568000
  1983.          HTBL  00,00,16,00,00,00,00,04,00,00,00,00,14,15,00,1A 3 C90040 04569000
  1984.          HTBL  20,00,00,00,00,00,00,00,00,00,5B,2E,3C,28,2B,21 4 C90040 04570000
  1985.          HTBL  26,00,00,00,00,00,00,00,00,00,5D,24,2A,29,3B,5E 5 C90040 04571000
  1986.          HTBL  2D,2F,00,00,00,00,00,00,00,00,7C,2C,25,5F,3E,3F 6 C90040 04572000
  1987.          HTBL  00,00,00,00,00,27,60,61,62,60,3A,23,40,27,3D,22 7 C90040 04573000
  1988.          HTBL  63,41,42,43,44,45,46,47,48,49,64,65,66,67,68,69 8 C90040 04574000
  1989.          HTBL  6A,4A,4B,4C,4D,4E,4F,50,51,52,6B,6C,6D,6E,6F,70 9 C90040 04575000
  1990.          HTBL  71,7E,53,54,55,56,57,58,59,5A,72,73,74,75,76,77 A C90040 04576000
  1991.          HTBL  78,79,7A,7B,7C,7D,7E,27,60,61,62,63,64,65,66,67 B C90040 04577000
  1992.          HTBL  7B,41,42,43,44,45,46,47,48,49,68,69,6A,6B,6C,6D C C90040 04578000
  1993.          HTBL  7D,4A,4B,4C,4D,4E,4F,50,51,52,6E,6F,70,71,72,73 D C90040 04579000
  1994.          HTBL  5C,00,53,54,55,56,57,58,59,5A,74,75,76,77,78,79 E C90040 04580000
  1995.          HTBL  30,31,32,33,34,35,36,37,38,39,7A,7B,7C,7D,7E,00 F C90040 04581000
  1996. *                                                                       04582000
  1997. CYTODKOI EQU   *             CYRILLIC to DKOI (EBCDIC)         @SC90040 04583000
  1998. *               0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F @SC90040 04584000
  1999.          HTBL  00,01,02,03,37,2D,2E,2F,16,05,25,0B,0C,0D,0E,0F 0 C90040 04585000
  2000.          HTBL  10,11,12,13,3C,3D,32,26,18,19,3F,27,1C,1D,1E,1F 1 C90040 04586000
  2001.          HTBL  40,4F,7F,7B,5B,6C,50,7D,4D,5D,5C,4E,6B,60,4B,61 2 C90040 04587000
  2002.          HTBL  F0,F1,F2,F3,F4,F5,F6,F7,F8,F9,7A,5E,4C,7E,6E,6F 3 C90040 04588000
  2003.          HTBL  7C,C1,C2,C3,C4,C5,C6,C7,C8,C9,D1,D2,D3,D4,D5,D6 4 C90040 04589000
  2004.          HTBL  D7,D8,D9,E2,E3,E4,E5,E6,E7,E8,E9,4A,E0,5A,5F,6D 5 C90040 04590000
  2005.          HTBL  79,81,82,83,84,85,86,87,88,89,91,92,93,94,95,96 6 C90040 04591000
  2006.          HTBL  97,98,99,A2,A3,A4,A5,A6,A7,A8,A9,C0,6A,D0,A1,07 7 C90040 04592000
  2007.          HTBL  20,21,22,23,24,15,06,17,28,29,2A,2B,2C,09,0A,1B 8 C90040 04593000
  2008.          HTBL  30,31,1A,33,34,35,36,08,38,39,3A,3B,04,14,3E,E1 9 C90040 04594000
  2009.          HTBL  41,42,43,44,45,46,47,48,49,51,52,53,54,55,56,57 A C90040 04595000
  2010.          HTBL  B9,BA,ED,BF,BC,BD,EC,FA,CB,CC,CD,CE,CF,DA,DB,DC B C90040 04596000
  2011.          HTBL  DE,DF,EA,EB,BE,CA,BB,FE,FB,FD,75,EF,EE,FC,B8,DD C C90040 04597000
  2012.          HTBL  77,78,AF,8D,8A,8B,AE,B2,8F,90,9A,9B,9C,9D,9E,9F D C90040 04598000
  2013.          HTBL  AA,AB,AC,AD,8C,8E,80,B6,B3,B5,B7,B1,B0,B4,76,A0 E C90040 04599000
  2014.          HTBL  58,59,62,63,64,65,66,67,68,69,70,71,72,73,74,FF F C90040 04600000
  2015. *                                                                       04601000
  2016. GRTOE875 EQU   *             Latin/Greek to Greece EBCDIC      @SC90040 04602000
  2017. *          ref: Michel Suignard                                @SC90040 04603000
  2018. *               0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F @SC90040 04604000
  2019.          HTBL  00,01,02,03,37,2D,2E,2F,16,05,25,0B,0C,0D,0E,0F 0 C90040 04605000
  2020.          HTBL  10,11,12,13,3C,3D,32,26,18,19,3F,27,1C,1D,1E,1F 1 C90040 04606000
  2021.          HTBL  40,4F,7F,7B,5B,6C,50,7D,4D,5D,5C,4E,6B,60,4B,61 2 C90040 04607000
  2022.          HTBL  F0,F1,F2,F3,F4,F5,F6,F7,F8,F9,7A,5E,4C,7E,6E,6F 3 C90040 04608000
  2023.          HTBL  7C,C1,C2,C3,C4,C5,C6,C7,C8,C9,D1,D2,D3,D4,D5,D6 4 C90040 04609000
  2024.          HTBL  D7,D8,D9,E2,E3,E4,E5,E6,E7,E8,E9,4A,E0,5A,5F,6D 5 C90040 04610000
  2025.          HTBL  79,81,82,83,84,85,86,87,88,89,91,92,93,94,95,96 6 C90040 04611000
  2026.          HTBL  97,98,99,A2,A3,A4,A5,A6,A7,A8,A9,C0,6A,D0,A1,07 7 C90040 04612000
  2027.          HTBL  20,21,22,23,24,15,06,17,28,29,2A,2B,2C,09,0A,1B 8 C90040 04613000
  2028.          HTBL  30,31,1A,33,34,35,36,08,38,39,3A,3B,04,14,3E,FF 9 C90040 04614000
  2029.          HTBL  74,CE,DE,B0,DC,E1,DF,EB,70,FB,EC,EE,EF,CA,ED,CF A C90040 04615000
  2030.          HTBL  90,DA,EA,FA,A0,80,71,DD,72,73,75,FE,76,DB,77,78 B C90040 04616000
  2031.          HTBL  CC,41,42,43,44,45,46,47,48,49,51,52,53,54,55,56 C C90040 04617000
  2032.          HTBL  57,58,FC,59,62,63,64,65,66,67,68,69,B1,B2,B3,B5 D C90040 04618000
  2033.          HTBL  CD,8A,8B,8C,8D,8E,8F,9A,9B,9C,9D,9E,9F,AA,AB,AC E C90040 04619000
  2034.          HTBL  AD,AE,BA,AF,BB,BC,BD,BE,BF,CB,B4,B8,B6,B7,B9,FD F C90040 04620000
  2035. *                                                                       04621000
  2036. L8TOE424 EQU   *             Latin/Hebrew to Israel EBCDIC     @SC90040 04622000
  2037. *          ref: Jonathan Rosenne (IBM Israel)                  @SC90040 04623000
  2038. *               0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F @SC90040 04624000
  2039.          HTBL  00,01,02,03,37,2D,2E,2F,16,05,25,0B,0C,0D,0E,0F 0 C90040 04625000
  2040.          HTBL  10,11,12,13,3C,3D,32,26,18,19,3F,27,1C,1D,1E,1F 1 C90040 04626000
  2041.          HTBL  40,5A,7F,7B,5B,6C,50,7D,4D,5D,5C,4E,6B,60,4B,61 2 C90040 04627000
  2042.          HTBL  F0,F1,F2,F3,F4,F5,F6,F7,F8,F9,7A,5E,4C,7E,6E,6F 3 C90040 04628000
  2043.          HTBL  7C,C1,C2,C3,C4,C5,C6,C7,C8,C9,D1,D2,D3,D4,D5,D6 4 C90040 04629000
  2044.          HTBL  D7,D8,D9,E2,E3,E4,E5,E6,E7,E8,E9,BA,E0,BB,B0,6D 5 C90040 04630000
  2045.          HTBL  79,81,82,83,84,85,86,87,88,89,91,92,93,94,95,96 6 C90040 04631000
  2046.          HTBL  97,98,99,A2,A3,A4,A5,A6,A7,A8,A9,C0,4F,D0,A1,07 7 C90040 04632000
  2047.          HTBL  20,21,22,23,24,15,06,17,28,29,2A,2B,2C,09,0A,1B 8 C90040 04633000
  2048.          HTBL  30,31,1A,33,34,35,36,08,38,39,3A,3B,04,14,3E,FF 9 C90040 04634000
  2049.          HTBL  74,AA,4A,B1,9F,B2,6A,B5,BD,B4,BF,8A,5F,CA,AF,BC A C90040 04635000
  2050.          HTBL  90,8F,EA,FA,BE,A0,B6,B3,9D,DA,E1,8B,B7,B8,B9,AB B C90040 04636000
  2051.          HTBL  CB,CC,CD,9C,CE,CF,9E,9B,DD,DE,72,73,70,75,76,77 C C90040 04637000
  2052.          HTBL  AC,8C,ED,EE,EB,EF,EC,9A,80,FD,FE,FB,FC,AD,AE,78 D C90040 04638000
  2053.          HTBL  41,42,43,44,45,46,47,48,49,51,52,53,54,55,56,57 E C90040 04639000
  2054.          HTBL  58,59,62,63,64,65,66,67,68,69,71,DB,DC,8D,8E,DF F C90040 04640000
  2055. *                                                                       04641000
  2056. KATOE290 EQU   *             KATAKANA to Japanese EBCDIC (290) @SC90040 04642000
  2057. *          ref: composite                                      @SC90040 04643000
  2058. *               0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F @SC90040 04644000
  2059.          HTBL  00,01,02,03,37,2D,2E,2F,16,05,25,0B,0C,0D,0E,0F 0 C90040 04645000
  2060.          HTBL  10,11,12,13,3C,3D,32,26,18,19,3F,27,1C,1D,1E,1F 1 C90040 04646000
  2061.          HTBL  40,5A,7F,7B,E0,6C,50,7D,4D,5D,5C,4E,6B,60,4B,61 2 C90040 04647000
  2062.          HTBL  F0,F1,F2,F3,F4,F5,F6,F7,F8,F9,7A,5E,4C,7E,6E,6F 3 C90040 04648000
  2063.          HTBL  7C,C1,C2,C3,C4,C5,C6,C7,C8,C9,D1,D2,D3,D4,D5,D6 4 C90040 04649000
  2064.          HTBL  D7,D8,D9,E2,E3,E4,E5,E6,E7,E8,E9,00,5B,00,5F,6D 5 C90040 04650000
  2065.          HTBL  00,C1,C2,C3,C4,C5,C6,C7,C8,C9,D1,D2,D3,D4,D5,D6 6 C90040 04651000
  2066.          HTBL  D7,D8,D9,E2,E3,E4,E5,E6,E7,E8,E9,C0,4F,D0,A1,07 7 C90040 04652000
  2067.          HTBL  20,21,22,23,24,15,06,17,28,29,2A,2B,2C,09,0A,1B 8 C90040 04653000
  2068.          HTBL  30,31,1A,33,34,35,36,08,38,39,3A,3B,04,14,3E,FF 9 C90040 04654000
  2069.          HTBL  40,41,42,43,44,45,46,47,48,49,51,52,53,54,55,56 A C90040 04655000
  2070.          HTBL  58,81,82,83,84,85,86,87,88,89,8A,8C,8D,8E,8F,90 B C90040 04656000
  2071.          HTBL  91,92,93,94,95,96,97,98,99,9A,9D,9E,9F,A2,A3,A4 C C90040 04657000
  2072.          HTBL  A5,A6,A7,A8,A9,AA,AC,AD,AE,AF,BA,BB,BC,BD,BE,BF D C90040 04658000
  2073.          HTBL  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,57 E C90040 04659000
  2074.          HTBL  00,00,CD,CE,CB,CF,CC,E1,70,DD,DE,DB,DC,00,00,DF F C90040 04660000
  2075. *                                                                       04661000
  2076. E290TOKA EQU   *             Japanese EBCDIC (290) to KATAKANA @SC90040 04662000
  2077. *               0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F @SC90040 04663000
  2078.          HTBL  00,01,02,03,9C,09,86,7F,97,8D,8E,0B,0C,0D,0E,0F 0 C90040 04664000
  2079.          HTBL  10,11,12,13,9D,85,08,87,18,19,92,8F,1C,1D,1E,1F 1 C90040 04665000
  2080.          HTBL  80,81,82,83,84,0A,17,1B,88,89,8A,8B,8C,05,06,07 2 C90040 04666000
  2081.          HTBL  90,91,16,93,94,95,96,04,98,99,9A,9B,14,15,9E,1A 3 C90040 04667000
  2082.          HTBL  20,A1,A2,A3,A4,A5,A6,A7,A8,A9,00,2E,3C,28,2B,7C 4 C90040 04668000
  2083.          HTBL  26,AA,AB,AC,AD,AE,AF,EF,B0,00,21,5C,2A,29,3B,5E 5 C90040 04669000
  2084.          HTBL  2D,2F,00,00,00,00,00,00,00,00,00,2C,25,5F,3E,3F 6 C90040 04670000
  2085.          HTBL  F8,00,00,00,00,00,00,00,00,00,3A,23,40,27,3D,22 7 C90040 04671000
  2086.          HTBL  00,B1,B2,B3,B4,B5,B6,B7,B8,B9,BA,00,BB,BC,BD,BE 8 C90040 04672000
  2087.          HTBL  BF,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,00,00,CA,CB,CC 9 C90040 04673000
  2088.          HTBL  00,7E,CD,CE,CF,D0,D1,D2,D3,D4,D5,00,D6,D7,D8,D9 A C90040 04674000
  2089.          HTBL  00,00,00,00,00,00,00,00,00,00,DA,DB,DC,DD,DE,DF B C90040 04675000
  2090.          HTBL  7B,41,42,43,44,45,46,47,48,49,00,F4,F6,F2,F3,F5 C C90040 04676000
  2091.          HTBL  7D,4A,4B,4C,4D,4E,4F,50,51,52,00,FB,FC,F9,FA,FF D C90040 04677000
  2092.          HTBL  24,F7,53,54,55,56,57,58,59,5A,00,00,00,00,00,00 E C90040 04678000
  2093.          HTBL  30,31,32,33,34,35,36,37,38,39,00,00,00,00,00,9F F C90040 04679000
  2094. *                                                                       04680000
  2095.